Identifies Functions or Properties referenced by the TruePart(second argument) or FalsePart(third argument) of the IIf built-in function.
New This feature is currently only available in pre-release builds (or the xmldoc asset doesn’t yet exist on main
!).
Inspection type: CodeQualityIssues
Default severity: Warning
All arguments of any function/procedure call are always evaluated before the function is invoked so that their respective values can be passed as parameters. Even so, the IIf Function's behavior is sometimes mis-interpreted to expect that ONLY the 'TruePart' or ONLY the 'FalsePart' expression will be evaluated based on the result of the first argument expression. Consequently, the IIf Function can be a source of unanticipated side-effects and errors if the user does not account for the fact that both the TruePart and FalsePart arguments are always evaluated
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