Procedure Required

Locates places in which a procedure needs to be called but an object variables has been provided that does not have a suitable default member.

Reasoning

The VBA compiler does not check whether the necessary default member is present. Instead there is a runtime error whenever the runtime type fails to have the default member.

Default severity

Warning

Inspection type

CodeQualityIssues

Examples

This example should trigger a result

Class1 (ClassModule)
Public Sub Foo() 'No default member attribute End Sub
Module1 (StandardModule)
Public Sub DoIt() Dim cls As Class1 Set cls = New Class1 cls End Sub

This example should NOT trigger a result

Class1 (ClassModule)
Public Sub Foo() Attribute Foo.UserMemId = 0 End Sub
Module1 (StandardModule)
Public Sub DoIt() Dim cls As Class1 Set cls = New Class1 cls End Sub

Rubberduck.CodeAnalysis.Inspections.Concrete.ProcedureRequiredInspection.cs (Prerelease-v2.5.9.6289)