Flags parameters that are passed by reference (ByRef), but could be passed by value (ByVal).
Inspection type: MaintainabilityAndReadabilityIssues
Default severity: Suggestion
Explicitly specifying a ByVal modifier on a parameter makes the intent explicit: this parameter is not meant to be assigned. In contrast, a parameter that is passed by reference (implicitly, or explicitly ByRef) makes it ambiguous from the calling code's standpoint, whether the procedure might re-assign these ByRef values and introduce a bug
For performance reasons, this inspection will not flag a parameter that is passed as an argument to a procedure that also accepts it ByRef.
The following quick-fixes are available for this inspection:
Each example is a self-contained MCVE showing the feature in a single specific scenario.
Module1
by default, these are general-purpose standard procedural modules.Class1
by default, these modules define the default interface for an object of that type.VB_PredeclaredId
attribute set to True
(with or without a @PredeclaredId
annotation).@Interface
annotation) whose default interface is not a class type intended to be instantiated.
The content of this page was generated from xml/comments in the source code compiled into Rubberduck.CodeAnalysis.xml
.
Edit this page