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
Refactor parse tree inspections #5404
Commits on Feb 26, 2020
-
Redesign ParseTreeInspection base class
Also adds a base for inspection listeners.
-
Remove declaration members and state from the InspectionBase
The DeclarationFinderProvider remains protected for now.
-
-
Reduce constructor requirements on inspections
Require an IDeclarationFinderProvider instead of a RubberduckParserState.
-
Treat IUnknown like Object in incompatible Set type inspections
Also adds the missing configurationd for the references libraries in tests.
-
Make ObsoleteCallStatementInspection more precise
Also removes the use of a CodeModule.
Commits on Feb 27, 2020
-
-
-
Fix an NRE in UnreachableCaseInspector
Also refactors the class a bit and fixes several possible multiple enumeration issues.
-
Add RequiredArguments to IAnnotation
It specifies the minimal number of arguments for the annotation.
-
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.
-
Commits on Feb 28, 2020
-
Add SuperfluousAnnotationArgumentsInspection
Also add allowed number of arguments to IAnnotation interface.
Commits on Mar 1, 2020
-
Stop using stale state in UnreachableCaseInspection
Also removes the special testing interface from ParseTreeValueVisitor.
-
-
Stop using inspector for parse tree inspections
The inspector swallows exceptions, which we really do not want in tests.
-
Commits on Mar 3, 2020
-
Refactor ParseTreeValueVisitor
It now correctly depends on the module and passes along the found results instead of aggregating them in an instance variable.
-
Make the enum members part of the ParseTreeVisitorResults
This allows to remove the corresponding state from the ParseTreeValueVisitor.
-
Get enumeration statements from enumeration members instead of the li…
…stener in UnreachableCaseInspection
-
Commits on Mar 5, 2020
Commits on Mar 6, 2020
-
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.
-
Make ParseTreeValueVisitor.VisitChildren pure
Also turns the ParseTreeValueVisitor in UnreachableCaseInspection into a constructor injected field.
-
Make UnreachableCaseInspector.InspectForUnreachableCases pure
Also turns the inspector in UnreachableCaseInspection into a constructor injected field.
-
Commits on Mar 7, 2020
-
Make inspection and quick fix implementation internal
Also fixes wrong InternalsVisibleTo attributes.
-
-
-
-
Remove experimental attribute from empty block inspections
Also sets the severity to Hint.
-
-
Fix inspection xml-doc analyzers
Also adds analyzers for the type attribute of the module element.
-
Commits on Mar 8, 2020
-
Add missing module elements to inspection xml-doc examples
Also makes this mandatory from now on.
-