12:00 AM
1 hour later…
2 hours later…
2:56 AM
[rubberduck-vba/Rubberduck] bclothier merged pull request #5578: EncapsulateFieldRefactoring - Split Refactoring from BZngr/Rubberduck/EF_SplitRefactoring into rubberduck-vba/Rubberduck/next
[rubberduck-vba/Rubberduck] BZngr pushed commit 7714e661 to next: Merge branch 'EF_IncorporateIndenter' into EF_CodeBuilderChanges
Expose IIndenter on ICodeBuilder
Also corrects merge error and minor changes to signatures and comments
Also corrects merge error and minor changes to signatures and comments
Add ModifyUserDefinedTypeRefactoringAction
Replaces CreateUDTMemberRefactoringAction. Leverages ICodeBuilder and
IIndenter to rewrite the entire UDT declaration after adding (or
removing) UDT Members.
Replaces CreateUDTMemberRefactoringAction. Leverages ICodeBuilder and
IIndenter to rewrite the entire UDT declaration after adding (or
removing) UDT Members.
Rework EncapsulateFieldRefactoring factories
Let CW supply factories where possible. Resulted in removal of several
explicitly defined factory class files...which led to a lot of renames,
refactoring, and some file structure changes.
Let CW supply factories where possible. Resulted in removal of several
explicitly defined factory class files...which led to a lot of renames,
refactoring, and some file structure changes.
Make NoActiveSeletion_Throws() test virtual
Passing a null IDeclarationFinderProvider reference may cause some
subclasses to fail or throw an unexpected Exception prior to generating
the expected Exception. Support overriding when needed (e.g.,
EncapsulateFieldRefactoring tests)
Passing a null IDeclarationFinderProvider reference may cause some
subclasses to fail or throw an unexpected Exception prior to generating
the expected Exception. Support overriding when needed (e.g.,
EncapsulateFieldRefactoring tests)
Relocate to correct namespace
Move from RubberduckTests.Refactoring.EncapsulateField to
RubberduckTests
Move from RubberduckTests.Refactoring.EncapsulateField to
RubberduckTests
3:16 AM
[rubberduck-vba/Rubberduck] rubberduck-vba-releasebot created draft prerelease Prerelease-v2.5.1.5609
[rubberduck-vba/Rubberduck] rubberduck-vba-releasebot prereleased draft prerelease Prerelease-v2.5.1.5609
3:37 AM
[rubberduck-vba/Rubberduck] bclothier closed issue #5374: Properties passed as ByRef are actually ByVal
[rubberduck-vba/Rubberduck] bclothier closed issue #3486: Inspection for misleading ByRef (implicit or explicit) modifier in property mutator
[rubberduck-vba/Rubberduck] bclothier merged pull request #5592: Add MisleadingByRefParameterInspection from BZngr/Rubberduck/MisleadingByRefParameter into rubberduck-vba/Rubberduck/next
[rubberduck-vba/Rubberduck] BZngr pushed commit 660aa9a9 to next: Add MisleadingByRefParameterInspection
[rubberduck-vba/Rubberduck] BZngr pushed commit 9ba28b2e to next: Ignore Property mutator Value param
[rubberduck-vba/Rubberduck] bclothier added label PR-Status: Conflicting to pull request #5587: Super types for document modules
3:56 AM
[rubberduck-vba/Rubberduck] rubberduck-vba-releasebot created draft prerelease Prerelease-v2.5.1.5610
[rubberduck-vba/Rubberduck] rubberduck-vba-releasebot prereleased draft prerelease Prerelease-v2.5.1.5610
10 hours later…
1 hour later…
3:04 PM
1 hour later…
4:20 PM
5:18 PM
5:30 PM
[rubberduck-vba/Rubberduck] bclothier closed issue #5544: Dual Inspections triggered for "On Error GoTo -1".
[rubberduck-vba/Rubberduck] bclothier merged pull request #5594: Fix neg line number detected in legitimate go to neg one from MDoerner/Rubberduck/FixNegLineNumberDetectedInGoToNegOne into...
Do not issue neg line number results for On Error GoTo -1 unless there is a line number -1
This PR also fixes a declaration resolver bug that removed the minus sign from negative line labels.
This PR also fixes a declaration resolver bug that removed the minus sign from negative line labels.
[rubberduck-vba/Rubberduck] MDoerner pushed commit c5ec039a to next: Merge branch 'next' into FixNegLineNumberDetectedInGoToNegOne
5:48 PM
[rubberduck-vba/Rubberduck] rubberduck-vba-releasebot prereleased draft prerelease Prerelease-v2.5.1.5611
[rubberduck-vba/Rubberduck] rubberduck-vba-releasebot created draft prerelease Prerelease-v2.5.1.5611
6:15 PM
[rubberduck-vba/Rubberduck] BZngr created pull request #5605: QuickFix/RefactoringAction to infer Explicit AsTypeNames for Implicit Type declarations to merge BZngr/Rubberduck/VariableTypeInference into...
> Closes #196 Closes #3225 This PR introduces a
DeclareAsExplicitTypeQuickFix
which calls an ImplicitTypeToExplicitRefactoringAction
to evaluate implicit declarations for Variables
, Constants
, and Parameters
. It could replace the DeclareAsExplicitVariantQuickFix
, but this PR retains the existing DeclareAsExplicitVariantQuickFix
as an option for the user. The RefactoringAction
does not attempt to parse expressions. If a type inference opportunity encounters an expression,...
the
RefactoringAction
defaults to either Variant
(emulating the current QuickFix
) or Object
. Once a unified expression evaluation capability is available (#3969), then the RefactoringAction
can be enhanced to fold in expression evaluations as well. To evaluate literals, the IParseTreeValueFactory
was recruited from the UnreachableCaseEvaluation
inspection. This required moving ParseTreeFactory
and a minimal set of supporting classes and interfaces to the...
Rubberduck.Refactorings
project so that it could be available to both the QuickFixes
/Inspections
and Refactorings
. #3969 discusses moving the ParseTreeFactory
to another project (e.g., Rubberduck.Expressions
) as part of creating a project dedicated to parsing expressions - but I did not want to attempt a start at that migration as part of this PR.
[rubberduck-vba/Rubberduck] bclothier closed issue #5581: False positive for default member inspection
[rubberduck-vba/Rubberduck] bclothier merged pull request #5597: Fix missing default member result for optional parentheses on properties from MDoerner/Rubberduck/FixDefaultMemberInspectionForOptionalPropertyParentheses into...
Fix missing default member result for optional parentheses on properties
The problem was that the empty argument list gets parsed as an argument list with a single missing argument and the IndexDefaultBinding did not account for it. Since the missing argument is actually a valid way to parse the empty argument list and the parser cannot know whether there is an optional parameter or not, I chose to catch this in the IndexDefaultBinding.
The problem was that the empty argument list gets parsed as an argument list with a single missing argument and the IndexDefaultBinding did not account for it. Since the missing argument is actually a valid way to parse the empty argument list and the parser cannot know whether there is an optional parameter or not, I chose to catch this in the IndexDefaultBinding.
6:52 PM
[rubberduck-vba/Rubberduck] rubberduck-vba-releasebot prereleased draft prerelease Prerelease-v2.5.1.5613
[rubberduck-vba/Rubberduck] rubberduck-vba-releasebot created draft prerelease Prerelease-v2.5.1.5613
1 hour later…
7:57 PM
8:18 PM
[rubberduck-vba/Rubberduck] MDoerner synchronized pull request #5604: Excluded projects from parsing
8:35 PM
[rubberduck-vba/Rubberduck] MDoerner synchronized pull request #5587: Super types for document modules
8:58 PM
1 hour later…
10:04 PM
[rubberduck-vba/Rubberduck] bclothier closed issue #5286: False Positive "Set Assignment with Incompatible Object Type" with CodeName of Excel.Worksheet
[rubberduck-vba/Rubberduck] bclothier closed issue #3569: Implicit Reference to ActiveSheet False Positives in Worksheet module
[rubberduck-vba/Rubberduck] bclothier merged pull request #5587: Super types for document modules from MDoerner/Rubberduck/SuperTypesForDocumentModules into rubberduck-vba/Rubberduck/next
Get document supertypes from user com projects
We use the user com projects to get the names of the implemented interfaces; the type hierarchy pass does the rest.
There is one hack in this: we suppress the underscore in front of the implemented interfaces in order to emulate the VBE's behaviour to let type checks pass relative to the coclass instead of the interface. This is entirely based on convention.
Moreover, this lacks unit test since the com projects cannot be mocked at this stage.
We use the user com projects to get the names of the implemented interfaces; the type hierarchy pass does the rest.
There is one hack in this: we suppress the underscore in front of the implemented interfaces in order to emulate the VBE's behaviour to let type checks pass relative to the coclass instead of the interface. This is entirely based on convention.
Moreover, this lacks unit test since the com projects cannot be mocked at this stage.
Change the document module supertype behaviour to adding supertypes without underscore
This seems safer in case we actually have a declaration for the interface with an underscore.
This seems safer in case we actually have a declaration for the interface with an underscore.
Fix NRE if the user com project for a document module does not exist
An appropriate guard clause was missing in the previous two commits.
An appropriate guard clause was missing in the previous two commits.
Add ImplicitContainingWorkbookReferenceInspection and ImplicitContainingWorksheetReferenceInspection
These two find unqualified references inside the corresponding document modules to certain members that point to the ActiveWorkbook or ActiveSheet when used unqualified outside the appropriate document modules. That the reference is actually to the containing document can be surprising. Because of that, they should be qualified with Me.
This also removes the corresponding false-positives for
These two find unqualified references inside the corresponding document modules to certain members that point to the ActiveWorkbook or ActiveSheet when used unqualified outside the appropriate document modules. That the reference is actually to the containing document can be surprising. Because of that, they should be qualified with Me.
This also removes the corresponding false-positives for
Adjust com interface discovery for documents with separate interface
Hosts like Access insert an additional interface for document modules between the document and the built-in one. Since we do not have a declaration for the separate interface, we also add the interface two levels op to the supertypes of the document.
Hosts like Access insert an additional interface for document modules between the document and the built-in one. Since we do not have a declaration for the separate interface, we also add the interface two levels op to the supertypes of the document.
Add QualifyWithMeQuickFix for ImplicitContainingWorkbook/WorksheetReferenceInspection
It does what the name suggests.
It does what the name suggests.
[rubberduck-vba/Rubberduck] MDoerner pushed commit 1e9d244a to next: Merge branch 'next' into SuperTypesForDocumentModules
Stop adding super type names for documents that are already there
This fixes a small memory leak in the reference resolver. Although the supertypes of a class declaration are a hash set, the super type names are a list. So, adding all supertype names derived from the typeLib API every parse would grow that list unnecessarily.
This fixes a small memory leak in the reference resolver. Although the supertypes of a class declaration are a hash set, the super type names are a list. So, adding all supertype names derived from the typeLib API every parse would grow that list unnecessarily.
Merge branch 'next' into SuperTypesForDocumentModules
# Conflicts:
# Rubberduck.Resources/Inspections/InspectionInfo.resx
# Rubberduck.Resources/Inspections/InspectionNames.resx
# Rubberduck.Resources/Inspections/InspectionResults.resx
# Conflicts:
# Rubberduck.Resources/Inspections/InspectionInfo.resx
# Rubberduck.Resources/Inspections/InspectionNames.resx
# Rubberduck.Resources/Inspections/InspectionResults.resx
Merge pull request #5587 from MDoerner/SuperTypesForDocumentModules
Super types for document modules
Super types for document modules
[rubberduck-vba/Rubberduck] bclothier added label PR-Status: Conflicting to pull request #5605: QuickFix/RefactoringAction to infer Explicit AsTypeNames for Implicit Type declarations
[rubberduck-vba/Rubberduck] bclothier added label PR-Status: Conflicting to pull request #5596: Fix german typo
10:24 PM
[rubberduck-vba/Rubberduck] rubberduck-vba-releasebot prereleased draft prerelease Prerelease-v2.5.1.5616
[rubberduck-vba/Rubberduck] rubberduck-vba-releasebot created draft prerelease Prerelease-v2.5.1.5616
11:10 PM
[rubberduck-vba/Rubberduck] MDoerner removed label PR-Status: Conflicting from pull request #5596: Fix german typo
> I resolved the typical XML conflict and snug in a fix for the other type on the same line as the original one.
[rubberduck-vba/Rubberduck] MDoerner synchronized pull request #5604: Excluded projects from parsing
11:50 PM
« first day (2332 days earlier) ← previous day next day → last day (848 days later) »
Transcript for
Oct23
Oct '2024
Oct25
VBA Rubberducking
This chat has moved to Discord: discord.gg/MYX9RECenJ