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

Refactor parse tree inspections #5404

Merged

Commits on Feb 26, 2020

  1. Redesign ParseTreeInspection base class

    Also adds a base for inspection listeners.
    MDoerner committed Feb 26, 2020
    Copy the full SHA
    137e3dc View commit details
    Browse the repository at this point in the history
  2. Remove declaration members and state from the InspectionBase

    The DeclarationFinderProvider remains protected for now.
    MDoerner committed Feb 26, 2020
    Copy the full SHA
    7d620a8 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    f1b6bb0 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    46d3707 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    0c7da5a View commit details
    Browse the repository at this point in the history
  6. Reduce constructor requirements on inspections

    Require an IDeclarationFinderProvider instead of a RubberduckParserState.
    MDoerner committed Feb 26, 2020
    Copy the full SHA
    2fc4217 View commit details
    Browse the repository at this point in the history
  7. Treat IUnknown like Object in incompatible Set type inspections

    Also adds the missing configurationd for the references libraries in tests.
    MDoerner committed Feb 26, 2020
    Copy the full SHA
    117f00f View commit details
    Browse the repository at this point in the history
  8. Make ObsoleteCallStatementInspection more precise

    Also removes the use of a CodeModule.
    MDoerner committed Feb 26, 2020
    Copy the full SHA
    15d6320 View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    c4e0fd8 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2020

  1. Copy the full SHA
    a7ccb69 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    b24cfcb View commit details
    Browse the repository at this point in the history
  3. Fix an NRE in UnreachableCaseInspector

    Also refactors the class a bit and fixes several possible multiple enumeration issues.
    MDoerner committed Feb 27, 2020
    Copy the full SHA
    03bf899 View commit details
    Browse the repository at this point in the history
  4. Add RequiredArguments to IAnnotation

    It specifies the minimal number of arguments for the annotation.
    MDoerner committed Feb 27, 2020
    Copy the full SHA
    9fed0b3 View commit details
    Browse the repository at this point in the history
  5. Make MissingAnnotationArguments use only the annotations

    Also adds an overload of DeclarationFinder.FindAnnotations providing all annotations in a module. IllegalAnnotationInspection now uses this in favor of RubberduckParserState.GetAnnotations, which allows to remove the dependency on the state.
    MDoerner committed Feb 27, 2020
    Copy the full SHA
    8c2fae8 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    d21dacf View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2020

  1. Add SuperfluousAnnotationArgumentsInspection

    Also add allowed number of arguments to IAnnotation interface.
    MDoerner committed Feb 28, 2020
    Copy the full SHA
    1c8f7a4 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2020

  1. Stop using stale state in UnreachableCaseInspection

    Also removes the special testing interface from ParseTreeValueVisitor.
    MDoerner committed Mar 1, 2020
    Copy the full SHA
    e280deb View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    ca77a8d View commit details
    Browse the repository at this point in the history
  3. Stop using inspector for parse tree inspections

    The inspector swallows exceptions, which we really do not want in tests.
    MDoerner committed Mar 1, 2020
    Copy the full SHA
    04aa262 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    e5efb48 View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2020

  1. Refactor ParseTreeValueVisitor

    It now correctly depends on the module and passes along the found results instead of aggregating them in an instance variable.
    MDoerner committed Mar 3, 2020
    Copy the full SHA
    deea59f View commit details
    Browse the repository at this point in the history
  2. Make the enum members part of the ParseTreeVisitorResults

    This allows to remove the corresponding state from the ParseTreeValueVisitor.
    MDoerner committed Mar 3, 2020
    Copy the full SHA
    5eda095 View commit details
    Browse the repository at this point in the history
  3. Get enumeration statements from enumeration members instead of the li…

    …stener in UnreachableCaseInspection
    MDoerner committed Mar 3, 2020
    Copy the full SHA
    5689b95 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    fbdcf00 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2020

  1. Copy the full SHA
    13e1547 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    42a602a View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2020

  1. Let hand down the declaration finder in InspectionBase to the impleme…

    …ntations as method parameter
    
    Before, the provider was protected and that was used, getting a new one in all base classes for the different kinds of inspections.
    MDoerner committed Mar 6, 2020
    Copy the full SHA
    ab922fd View commit details
    Browse the repository at this point in the history
  2. Make ParseTreeValueVisitor.VisitChildren pure

    Also turns the ParseTreeValueVisitor in UnreachableCaseInspection into a constructor injected field.
    MDoerner committed Mar 6, 2020
    Copy the full SHA
    b26b8f4 View commit details
    Browse the repository at this point in the history
  3. Make UnreachableCaseInspector.InspectForUnreachableCases pure

    Also turns the inspector in UnreachableCaseInspection into a constructor injected field.
    MDoerner committed Mar 6, 2020
    Copy the full SHA
    6a17bf7 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    af2b026 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2020

  1. Copy the full SHA
    0a517ae View commit details
    Browse the repository at this point in the history
  2. Make inspection and quick fix implementation internal

    Also fixes wrong InternalsVisibleTo attributes.
    MDoerner committed Mar 7, 2020
    Copy the full SHA
    32e6201 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    932ac85 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    3cdd860 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    e7c76e3 View commit details
    Browse the repository at this point in the history
  6. Remove experimental attribute from empty block inspections

    Also sets the severity to Hint.
    MDoerner committed Mar 7, 2020
    Copy the full SHA
    b527bb3 View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    280bcc6 View commit details
    Browse the repository at this point in the history
  8. Fix inspection xml-doc analyzers

    Also adds analyzers for the type attribute of the module element.
    MDoerner committed Mar 7, 2020
    Copy the full SHA
    3b49f91 View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    0745617 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2020

  1. Add missing module elements to inspection xml-doc examples

    Also makes this mandatory from now on.
    MDoerner committed Mar 8, 2020
    Copy the full SHA
    5d3b03b View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    98ea837 View commit details
    Browse the repository at this point in the history