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

Ignore incompleteCode flag #1630

Merged
merged 8 commits into from Dec 1, 2019
Merged

Ignore incompleteCode flag #1630

merged 8 commits into from Dec 1, 2019

Conversation

KronicDeth
Copy link
Owner

@KronicDeth KronicDeth commented Nov 29, 2019

Resolves #1627

Changelog

Enhancements

  • Ignore the incompleteCode flag and instead always use the criteria used when incompleteCode was set.

    name prefix exact name ResolveResult valid
    N/A N/A

    This extends Allow arity mismatch to resolve as invalid result #1617 to more cases.

    • Qualified calls (Process.flag(...), etc)
    • Type specs (@spec foo(...))
    • Aliases (alias Foo...)
    • Module Attributes (@attribute)
    • Variables (foo)
    • Protocol reserved module attributes (@protocol and @for)

The change in 10.4.0 did no extend to qualified calls.  This was an
oversight because Moduler.callDefinitionClauseCallFoldWhile that took
the finalArity was being used, so it was prescreening invalid arities
out.
Mark arity and name prefix-only as invalid ResolveResult for @SPEC even
when code is not incomplete.  Results will be valid only if the name is
an exact match and the arity is withing the arity range.
Apply same name prefix precondition and then set to valid iff resolved
final arity within range and the name is an exact match.
No longer care if incompleteCode is true for prefix matching variables.
Ignore whether incompleteCode.
@KronicDeth KronicDeth self-assigned this Nov 29, 2019
@KronicDeth KronicDeth added this to the 11.5.0 milestone Nov 29, 2019
@KronicDeth KronicDeth merged commit 9fdba10 into master Dec 1, 2019
@KronicDeth KronicDeth deleted the ignore-incomplete branch December 1, 2019 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Parameter info
1 participant