Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle aliases as Documentables #775

Draft
wants to merge 54 commits into
base: master
Choose a base branch
from
Draft

Conversation

tristanlatr
Copy link
Contributor

Fix #313, Replaces PR #414

tristanlatr and others added 30 commits June 26, 2021 02:26
…l alias. An module-level alias must be defined at the top level of the module.
…computing it from AST all the time.

Consider variables that are not on the root level as aliases, too. And warns only when they are actually overriden.

Move node2fullname to astutils module.

Delete overridenInCount from ClassPage since it was unused.

Re-export names that are not part of the current system with an alias.

Cleanup expandName() and associated.

Use directly taglink() in format_alias_value() when possible.

Add Documentable.aliases property. This is somewhat working in the tests but not always in real life.

Rename the redirected_from parameter to "indirections".

Speaking of tests, this commit also adds A LOT of new tests for the expandName() method.
…astbuilder tests, mostly related to alias handling... I'll fix that after merging.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

Copy link

codecov bot commented Apr 5, 2024

Codecov Report

Attention: Patch coverage is 89.27445% with 34 lines in your changes are missing coverage. Please review.

Project coverage is 92.61%. Comparing base (fe29bb7) to head (43815d4).

Files Patch % Lines
pydoctor/templatewriter/pages/__init__.py 63.15% 5 Missing and 2 partials ⚠️
pydoctor/astbuilder.py 92.68% 2 Missing and 4 partials ⚠️
pydoctor/names.py 93.68% 3 Missing and 3 partials ⚠️
pydoctor/epydoc2stan.py 28.57% 4 Missing and 1 partial ⚠️
pydoctor/linker.py 82.60% 2 Missing and 2 partials ⚠️
pydoctor/model.py 97.46% 1 Missing and 1 partial ⚠️
pydoctor/sphinx.py 0.00% 1 Missing and 1 partial ⚠️
pydoctor/templatewriter/pages/attributechild.py 75.00% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #775      +/-   ##
==========================================
- Coverage   92.69%   92.61%   -0.08%     
==========================================
  Files          47       48       +1     
  Lines        8337     8533     +196     
  Branches     1846     1886      +40     
==========================================
+ Hits         7728     7903     +175     
- Misses        349      361      +12     
- Partials      260      269       +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

This comment has been minimized.

…processing state. Also address a TODO comment in expandName()

This comment has been minimized.

Comment on lines +84 to +93
class NameDefined(IntEnum):
"""
>>> bool(NameDefined.NOT_FOUND)
False
>>> bool(NameDefined.BY_IMPORT)
True
"""
NOT_FOUND = 0
BY_IMPORT = 1
BY_DECLARATION = 2
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
class NameDefined(IntEnum):
"""
>>> bool(NameDefined.NOT_FOUND)
False
>>> bool(NameDefined.BY_IMPORT)
True
"""
NOT_FOUND = 0
BY_IMPORT = 1
BY_DECLARATION = 2

This comment has been minimized.

This comment has been minimized.

Copy link

github-actions bot commented Apr 6, 2024

Diff from pydoctor_primer, showing the effect of this PR on open source code:

bottle (https://github.com/bottlepy/bottle)
- /projects/bottle/bottle.py:889: Cannot find link target for "GET"
- /projects/bottle/bottle.py:889: Cannot find link target for "GET"

pycma (https://github.com/CMA-ES/pycma)
- /projects/pycma/cma/constraints_handler.py:1282: Cannot find link target for "es"
- /projects/pycma/cma/fitness_models.py:267: Cannot find link target for "cma.fitness_models.SurrogatePopulation.settings.max_absolute_size", resolved from "model.settings.max_absolute_size"
+ /projects/pycma/cma/fitness_models.py:267: Cannot find link target for "cma.fitness_models.SurrogatePopulation.model.settings.max_absolute_size", resolved from "model.settings.max_absolute_size"
- /projects/pycma/cma/fitness_models.py:267: Cannot find link target for "cma.fitness_models.SurrogatePopulation.settings.truncation_ratio", resolved from "model.settings.truncation_ratio"
+ /projects/pycma/cma/fitness_models.py:267: Cannot find link target for "cma.fitness_models.SurrogatePopulation.model.settings.truncation_ratio", resolved from "model.settings.truncation_ratio"
- /projects/pycma/cma/purecma.py:875: Cannot find link target for "eval"
- /projects/pycma/cma/purecma.py:879: Cannot find link target for "eval"
- /projects/pycma/cma/purecma.py:543: Cannot find link target for "es"
- /projects/pycma/cma/sigma_adaptation.py:93: Cannot find link target for "es"
- /projects/pycma/cma/sigma_adaptation.py:236: Cannot find link target for "es"
- /projects/pycma/cma/sigma_adaptation.py:199: Cannot find link target for "es"
- /projects/pycma/cma/transformations.py:934: Cannot find link target for "tf"
- /projects/pycma/cma/utilities/python3for2.py:3: Cannot find link target for "builtins.range", resolved from "range" (you can link to external docs with --intersphinx)
- /projects/pycma/cma/utilities/python3for2.py:3: Cannot find link target for "builtins.input", resolved from "input" (you can link to external docs with --intersphinx)
- /projects/pycma/cma/utilities/python3for2.py:3: Cannot find link target for "collections", resolved from "abc"

attrs (https://github.com/python-attrs/attrs)
+ /projects/attrs/src/attr/__init__.py:31: Failed to resolve alias (found same alias again)
+ /projects/attrs/src/attr/__init__.py:31: Failed to resolve alias (found same alias again)
+ /projects/attrs/src/attr/__init__.py:31: Failed to resolve alias (found same alias again)
+ /projects/attrs/src/attr/__init__.py:31: Failed to resolve alias (found same alias again)
+ /projects/attrs/src/attr/__init__.py:31: Failed to resolve alias (found same alias again)
+ /projects/attrs/src/attr/_funcs.py:28: Cannot find link target for "attr.attrs.Attribute", resolved from "attrs.Attribute"
+ /projects/attrs/src/attr/_funcs.py:353: Cannot find link target for "attr.attrs.evolve", resolved from "attrs.evolve"
+ /projects/attrs/src/attr/_funcs.py:353: Cannot find link target for "attr.attrs.evolve", resolved from "attrs.evolve"
+ /projects/attrs/src/attr/_funcs.py:212: Cannot find link target for "attr.attrs.Attribute", resolved from "attrs.Attribute"
+ /projects/attrs/src/attr/_make.py:121: Cannot find link target for "attr.attrs.define", resolved from "attrs.define"
+ /projects/attrs/src/attr/_make.py:123: Cannot find link target for "attr.attrs.field", resolved from "attrs.field"
+ /projects/attrs/src/attr/_make.py:130: Cannot find link target for "attr.attrs.Factory", resolved from "attrs.Factory"
+ /projects/attrs/src/attr/_make.py:134: Cannot find link target for "attr.attrs.NOTHING", resolved from "attrs.NOTHING"
+ /projects/attrs/src/attr/_make.py:157: Cannot find link target for "attr.attrs.validators.get_disabled", resolved from "attrs.validators.get_disabled"
+ /projects/attrs/src/attr/_make.py:157: Cannot find link target for "attr.attrs.validators.set_disabled", resolved from "attrs.validators.set_disabled"
+ /projects/attrs/src/attr/_make.py:227: Cannot find link target for "attr.attrs.setters.NO_OP", resolved from "attrs.setters.NO_OP"
+ /projects/attrs/src/attr/_make.py:1340: Cannot find link target for "attr.attrs.define", resolved from "attrs.define"
+ /projects/attrs/src/attr/_make.py:1340: Cannot find link target for "attr.attrs.frozen", resolved from "attrs.frozen"
+ /projects/attrs/src/attr/_make.py:1446: Cannot find link target for "attr.attrs.exceptions.FrozenInstanceError", resolved from "attrs.exceptions.FrozenInstanceError"
+ /projects/attrs/src/attr/_make.py:1473: Cannot find link target for "attr.attrs.exceptions.UnannotatedAttributeError", resolved from "attrs.exceptions.UnannotatedAttributeError"
+ /projects/attrs/src/attr/_make.py:1479: Cannot find link target for "attr.attrs.Factory", resolved from "attrs.Factory"
+ /projects/attrs/src/attr/_make.py:1547: Cannot find link target for "attr.attrs.setters.pipe", resolved from "attrs.setters.pipe"
+ /projects/attrs/src/attr/_cmp.py:23: Cannot find link target for "attr.attrs.field", resolved from "attrs.field"
+ /projects/attrs/src/attr/_next_gen.py:76: Cannot find link target for "attr.attrs.fields", resolved from "attrs.fields"
+ /projects/attrs/src/attr/_next_gen.py:79: Cannot find link target for "attr.attrs.fields", resolved from "attrs.fields"
+ /projects/attrs/src/attr/_next_gen.py:183: Cannot find link target for "attr.attrs.make_class", resolved from "attrs.make_class"
+ /projects/attrs/src/attr/_make.py:2045: Cannot find link target for "attr.attrs.Attribute", resolved from "attrs.Attribute"
+ /projects/attrs/src/attr/_make.py:3000: Cannot find link target for "attr.attrs.field", resolved from "attrs.field"
+ /projects/attrs/src/attr/_funcs.py:445: Cannot find link target for "attr.attrs.define", resolved from "attrs.define"
+ /projects/attrs/src/attr/_funcs.py:445: Cannot find link target for "attr.attrs.define", resolved from "attrs.define"
+ /projects/attrs/src/attr/_make.py:78: Cannot find link target for "None"
+ /projects/attrs/src/attr/_config.py:30: Cannot find link target for "attrs.validators.get_disabled" (you can link to external docs with --intersphinx)
+ /projects/attrs/src/attr/_config.py:15: Cannot find link target for "attrs.validators.set_disabled" (you can link to external docs with --intersphinx)
+ /projects/attrs/src/attr/converters.py:60: Cannot find link target for "attrs.Factory" (you can link to external docs with --intersphinx)
+ /projects/attrs/src/attr/converters.py:67: Cannot find link target for "attrs.Factory" (you can link to external docs with --intersphinx)
+ /projects/attrs/src/attr/filters.py:51: Cannot find link target for "attrs.Attribute" (you can link to external docs with --intersphinx)
+ /projects/attrs/src/attr/filters.py:27: Cannot find link target for "attrs.Attribute" (you can link to external docs with --intersphinx)
+ /projects/attrs/src/attr/validators.py:258: Cannot find link target for "attr.attrs.Attribute", resolved from "attrs.Attribute"
+ /projects/attrs/src/attr/validators.py:120: Cannot find link target for "attr.attrs.Attribute", resolved from "attrs.Attribute"
+ /projects/attrs/src/attr/validators.py:294: Cannot find link target for "attr.attrs.exceptions.NotCallableError", resolved from "attrs.exceptions.NotCallableError"
+ /projects/attrs/src/attr/validators.py:301: Cannot find link target for "attr.attrs.Attribute", resolved from "attrs.Attribute"
+ /projects/attrs/src/attr/validators.py:605: Cannot find link target for "attr.attrs.Attribute", resolved from "attrs.Attribute"
+ /projects/attrs/src/attr/validators.py:543: Cannot find link target for "attr.attrs.Attribute", resolved from "attrs.Attribute"
+ /projects/attrs/src/attr/_make.py:2716: Cannot find link target for "attr.attrs.evolve", resolved from "attrs.evolve"
+ /projects/attrs/src/attr/_make.py:2941: Cannot find link target for "attr.attrs.field", resolved from "attrs.field"

astroid (https://github.com/pylint-dev/astroid)
- /projects/astroid/astroid/manager.py:418: Cannot find link target for "astroid.nodes.Module", resolved from "astroid.Module"

coco (https://github.com/numbbo/coco)
- /projects/coco/code-postprocessing/cocopp/archiving.py:15: Cannot find link target for "bbob"
- /projects/coco/code-postprocessing/cocopp/archiving.py:1177: Cannot find link target for "bbob"
- /projects/coco/code-postprocessing/cocopp/archiving.py:1180: Cannot find link target for "bbob_noisy"
- /projects/coco/code-postprocessing/cocopp/pproc.py:1112: Cannot find link target for "samplesize"
- /projects/coco/code-postprocessing/cocopp/pproc.py:1140: Cannot find link target for "samplesize"
- /projects/coco/code-postprocessing/cocopp/rungeneric.py:94: Cannot find link target for "cocopp.archives.bbob", resolved from "cocopp.bbob"
- /projects/coco/code-postprocessing/cocopp/rungeneric.py:123: Cannot find link target for "cocopp.archives.bbob", resolved from "cocopp.bbob"
- /projects/coco/code-postprocessing/cocopp/testbedsettings.py:79: Cannot find link target for "bbob"
- /projects/coco/code-postprocessing/cocopp/toolsstats.py:191: Cannot find link target for "samplesize"
- /projects/coco/code-postprocessing/cocopp/toolsstats.py:342: Cannot find link target for "samplesize"

scrapy (https://github.com/scrapy/scrapy)
+ /projects/scrapy/scrapy/exporters.py:337: Cannot find link target for "json"
- /projects/scrapy/scrapy/loader/__init__.py:36: Cannot find link target for "scrapy.item.Item", resolved from "default_item_class"
- /projects/scrapy/scrapy/loader/__init__.py:31: Cannot find link target for "scrapy.selector.Selector", resolved from "default_selector_class"
- /projects/scrapy/scrapy/utils/request.py:126: Cannot find link target for "scrapy.http.request.Request.url", resolved from "scrapy.http.Request.url"
- /projects/scrapy/scrapy/utils/request.py:127: Cannot find link target for "scrapy.http.request.Request.method", resolved from "scrapy.http.Request.method"
- /projects/scrapy/scrapy/utils/request.py:128: Cannot find link target for "scrapy.http.request.Request.body", resolved from "scrapy.http.Request.body"

sphinx (https://github.com/sphinx-doc/sphinx)
+ /projects/sphinx/sphinx/domains/__init__.py:174: Cannot find link target for "domain.name" (you can link to external docs with --intersphinx)
- /projects/sphinx/sphinx/ext/autosummary/__init__.py:745: ambiguous ref to text, could be sphinx.builders.text, sphinx.writers.text
- /projects/sphinx/sphinx/ext/autosummary/__init__.py:745: ambiguous ref to text, could be sphinx.builders.text, sphinx.writers.text
- /projects/sphinx/sphinx/testing/path.py:157: ambiguous ref to text, could be sphinx.builders.text, sphinx.writers.text

docutils (https://github.com/docutils/docutils)
- /projects/docutils/docutils/docutils/core.py:684: ambiguous ref to parser_name, could be docutils.parsers.commonmark_wrapper.parser_name, docutils.parsers.rst.directives.parser_name
- /projects/docutils/docutils/docutils/core.py:684: Cannot find link target for "parser_name"
+ /projects/docutils/docutils/docutils/io.py:48: Cannot find link target for "encoding"
+ /projects/docutils/docutils/docutils/io.py:52: Cannot find link target for "encoding"
+ /projects/docutils/docutils/docutils/io.py:54: Cannot find link target for "encoding"
- /projects/docutils/docutils/docutils/io.py:269: Cannot find link target for "unicode"
+ /projects/docutils/docutils/docutils/statemachine.py:549: Cannot find link target for "re"
+ /projects/docutils/docutils/docutils/utils/__init__.py:346: Cannot find link target for "path"
+ /projects/docutils/docutils/docutils/utils/__init__.py:583: Cannot find link target for "path"
- /projects/docutils/docutils/docutils/utils/error_reporting.py:41: Cannot find link target for "str", resolved from "unicode"
- /projects/docutils/docutils/docutils/utils/error_reporting.py:64: Cannot find link target for "str", resolved from "unicode"
- /projects/docutils/docutils/docutils/utils/error_reporting.py:144: Cannot find link target for "str", resolved from "unicode"
- /projects/docutils/docutils/docutils/utils/error_reporting.py:187: Cannot find link target for "str", resolved from "unicode"
+ /projects/docutils/docutils/docutils/utils/__init__.py:792: Cannot find link target for "path"
+ /projects/docutils/docutils/docutils/writers/_html_base.py:500: Cannot find link target for "path"
+ /projects/docutils/docutils/docutils/writers/latex2e/__init__.py:1394: Cannot find link target for "path"

twisted (https://github.com/twisted/twisted)
+ /projects/twisted/src/twisted/python/win32.py:46: Failed to resolve alias (found same alias again)
+ /projects/twisted/src/twisted/python/win32.py:46: Failed to resolve alias (found same alias again)
+ /projects/twisted/src/twisted/python/win32.py:46: Failed to resolve alias (found same alias again)
+ /projects/twisted/src/twisted/python/win32.py:46: Failed to resolve alias (found same alias again)
+ /projects/twisted/src/twisted/conch/client/default.py:58: ambiguous ref to SSHClientTransport.verifyHostKey, could be twisted.conch.client.direct.SSHClientTransport.verifyHostKey, twisted.conch.ssh.transport.SSHClientTransport.verifyHostKey
+ /projects/twisted/src/twisted/conch/client/default.py:64: ambiguous ref to SSHClientTransport, could be twisted.conch.client.direct.SSHClientTransport, twisted.conch.ssh.transport.SSHClientTransport
- /projects/twisted/src/twisted/spread/jelly.py:212: Cannot find link target for "twisted.spread.flavors.setUnjellyableForClass", resolved from "setUnjellyableForClass"
+ /projects/twisted/src/twisted/protocols/tls.py:161: ambiguous ref to ConnectionLost, could be twisted.internet.error.ConnectionLost, twisted.protocols.ftp.ConnectionLost
+ /projects/twisted/src/twisted/protocols/tls.py:161: ambiguous ref to ConnectionLost, could be twisted.internet.error.ConnectionLost, twisted.enterprise.adbapi.ConnectionLost, twisted.protocols.ftp.ConnectionLost
+ /projects/twisted/src/twisted/protocols/tls.py:161: Cannot find link target for "ConnectionLost"
+ /projects/twisted/src/twisted/python/urlpath.py:179: ambiguous ref to URL, could be twisted.python._url.URL, twisted.python.url.URL
+ /projects/twisted/src/twisted/python/urlpath.py:179: ambiguous ref to URL, could be twisted.protocols.sip.URL, twisted.python._url.URL, twisted.python.url.URL
+ /projects/twisted/src/twisted/python/urlpath.py:179: Cannot find link target for "URL"
+ /projects/twisted/src/twisted/python/urlpath.py:180: ambiguous ref to URL, could be twisted.python._url.URL, twisted.python.url.URL
+ /projects/twisted/src/twisted/python/urlpath.py:180: ambiguous ref to URL, could be twisted.protocols.sip.URL, twisted.python._url.URL, twisted.python.url.URL
+ /projects/twisted/src/twisted/python/urlpath.py:180: Cannot find link target for "URL"
+ /projects/twisted/src/twisted/python/win32.py:46: Failed to resolve alias (found same alias again)
+ /projects/twisted/src/twisted/scripts/trial.py:106: ambiguous ref to TestCase, could be twisted.trial.unittest.TestCase, twisted.trial.unittest.SynchronousTestCase
+ /projects/twisted/src/twisted/scripts/trial.py:106: Cannot find link target for "TestCase"
- /projects/twisted/src/twisted/trial/_dist/workerreporter.py:218: Cannot find link target for "f"
+ /projects/twisted/src/twisted/words/protocols/jabber/xmlstream.py:482: ambiguous ref to JID, could be twisted.words.protocols.jabber.jid.JID, twisted.words.protocols.jabber.jid.internJID
+ /projects/twisted/src/twisted/words/protocols/jabber/xmlstream.py:482: ambiguous ref to JID, could be twisted.words.protocols.jabber.jid.JID, twisted.words.protocols.jabber.jid.internJID
- /projects/twisted/src/twisted/web/static.py:295: Cannot find link target for "NoResource"
+ /projects/twisted/src/twisted/words/protocols/jabber/xmlstream.py:482: Cannot find link target for "JID"
+ /projects/twisted/src/twisted/words/protocols/jabber/xmlstream.py:484: ambiguous ref to JID, could be twisted.words.protocols.jabber.jid.JID, twisted.words.protocols.jabber.jid.internJID
+ /projects/twisted/src/twisted/words/protocols/jabber/xmlstream.py:484: ambiguous ref to JID, could be twisted.words.protocols.jabber.jid.JID, twisted.words.protocols.jabber.jid.internJID
+ /projects/twisted/src/twisted/words/protocols/jabber/xmlstream.py:484: Cannot find link target for "JID"

numpy (https://github.com/numpy/numpy): typechecking got 1.10x slower (184.4s -> 202.6s)
(Performance measurements are based on a single noisy sample)
+ /projects/numpy/numpy/__init__.py:97: Too many aliases
- /projects/numpy/numpy/_core/_asarray.py:55: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/_internal.py:434: Cannot find link target for "numpy._core.multiarray.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/_internal.py:437: Cannot find link target for "numpy._core.multiarray.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/_ufunc_config.py:4: Cannot find link target for "numpy._core.umath._get_extobj_dict", resolved from "_get_extobj_dict"
+ /projects/numpy/numpy/_core/_ufunc_config.py:4: Cannot find link target for "numpy._core._multiarray_umath._get_extobj_dict", resolved from "_get_extobj_dict"
- /projects/numpy/numpy/_core/_ufunc_config.py:4: Cannot find link target for "numpy._core.umath._make_extobj", resolved from "_make_extobj"
+ /projects/numpy/numpy/_core/_ufunc_config.py:4: Cannot find link target for "numpy._core._multiarray_umath._make_extobj", resolved from "_make_extobj"
- /projects/numpy/numpy/_core/_ufunc_config.py:5: Cannot find link target for "numpy._core.umath._extobj_contextvar", resolved from "_extobj_contextvar"
+ /projects/numpy/numpy/_core/_ufunc_config.py:5: Cannot find link target for "numpy._core._multiarray_umath._extobj_contextvar", resolved from "_extobj_contextvar"
+ /projects/numpy/numpy/_core/code_generators/generate_umath.py:61: Cannot find link target for "none"
+ /projects/numpy/numpy/_core/code_generators/generate_umath.py:75: Cannot find link target for "none"
- /projects/numpy/numpy/_core/defchararray.py:1250: Cannot find link target for "bytes"
- /projects/numpy/numpy/_core/strings.py:1052: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:600: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:351: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:463: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:509: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:425: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/defchararray.py:75: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:557: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:221: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/defchararray.py:208: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/defchararray.py:142: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:285: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:1185: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/defchararray.py:241: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/defchararray.py:175: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:659: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:978: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:814: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:194: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/defchararray.py:273: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/defchararray.py:108: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/defchararray.py:329: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:1133: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:257: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:318: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:715: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/defchararray.py:369: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:1269: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:860: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:1222: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:1307: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:396: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:901: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:1014: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:1092: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:1470: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:943: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/strings.py:770: Cannot find link target for "numpy._core.numeric.ndarray", resolved from "ndarray"
- /projects/numpy/numpy/_core/defchararray.py:434: ambiguous ref to copy, could be numpy.lib._function_base_impl.copy, numpy.ma.core.copy
- /projects/numpy/numpy/_core/defchararray.py:434: Cannot find link target for "copy"
- /projects/numpy/numpy/_core/einsumfunc.py:1084: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/einsumfunc.py:1115: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:2535: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:2542: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:2554: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:2424: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:2431: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:2441: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:2443: Cannot find link target for "ndarray"
+ /projects/numpy/numpy/_core/fromnumeric.py:1220: ambiguous ref to array, could be numpy._core.defchararray.array, numpy.ma.core.array, numpy._core.records.array
- /projects/numpy/numpy/_core/fromnumeric.py:1232: Cannot find link target for "ndarray"
+ /projects/numpy/numpy/_core/fromnumeric.py:1317: ambiguous ref to array, could be numpy._core.defchararray.array, numpy.ma.core.array, numpy._core.records.array
- /projects/numpy/numpy/_core/fromnumeric.py:1329: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:866: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:1125: Cannot find link target for "ndarray"
+ /projects/numpy/numpy/_core/fromnumeric.py:356: ambiguous ref to array, could be numpy._core.defchararray.array, numpy.ma.core.array, numpy._core.records.array
+ /projects/numpy/numpy/_core/fromnumeric.py:365: ambiguous ref to array, could be numpy._core.defchararray.array, numpy.ma.core.array, numpy._core.records.array
- /projects/numpy/numpy/_core/fromnumeric.py:2205: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:2214: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:2138: ambiguous ref to diag, could be numpy.lib._twodim_base_impl.diag, numpy.ma.core.diag
- /projects/numpy/numpy/_core/fromnumeric.py:2138: Cannot find link target for "diag"
- /projects/numpy/numpy/_core/fromnumeric.py:2130: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:2134: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:3218: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:3222: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:2642: ambiguous ref to diff, could be numpy.lib._function_base_impl.diff, numpy.ma.core.diff
- /projects/numpy/numpy/_core/fromnumeric.py:2642: Cannot find link target for "diff"
- /projects/numpy/numpy/_core/fromnumeric.py:2629: Cannot find link target for "ndarray"
- /projects/numpy/numpy/_core/fromnumeric.py:1701: ambiguous ref to diag, could be numpy.lib._twodim_base_impl.diag, numpy.ma.core.diag

... (truncated 887 lines) ...

self.debug(f'Linker finds {part0} in {src} resolving name into {target}', lineno)
if (target is not None
and target not in potential_targets
and not any(target in t.aliases for t in potential_targets)):
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to be smarter here: replace an alias with its definition and ignore aliases that point to a definition already in the collection

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Include documented aliases in output
1 participant