Skip to content

Rubberduck wants me to assign Object() array with 'Set' keyword #6200

Open
@gitqube

Description

@gitqube

Version 2.5.9.6319
OS: Microsoft Windows NT 10.0.19045.0, x64
Host Product: Microsoft Office x64
Host Version: 16.0.17029.20140
Host Executable: EXCEL.EXE

For demonstration use this Module code:

Private myObjectArray() As Object

Public Property Get ObjectArray() As Object()
    ObjectArray = myObjectArray
End Property


Public Sub Test()

    Dim oArr1(0) As Object
    Set oArr1(0) = ThisWorkbook

    myObjectArray = oArr1

    Dim oArr2() As Object
    oArr2 = ObjectArray

    Debug.Print oArr2(0).Name

End Sub

Description
This code compiles and runs.
Rubberduck gives me 3 Code Inspection Errors:

  1. Return value for member 'ObjectArray' is never assigned.
    This refers to line Public Property Get ObjectArray() As Object()
  2. Object variable 'ObjectArray' is assigned without the 'Set' keyword.
    This refers to line ObjectArray = myObjectArray
  3. In a context that requires a value type, the expression 'ObjectArray' of object type 'Object()' is used that does not have a suitable default member.
    This refers to line oArr2 = ObjectArray and may be related to ByRef Array of Objects Parameters, Inspection False Positives #6094

If I use the 'Set' keyword in front of ObjectArray = myObjectArray and in front of oArr2 = ObjectArray Rubberduck is satisfied and does not report any errors. But it does not compile, of course.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIdentifies work items for known bugsdifficulty-03-duckInvolves more challenging problems and/or developing within and revising the internals APIresolverIssue is easier to resolve with knowledge of the internal resolver API and the Antlr4 parse trees.

    Type

    No type

    Projects

    • Status

      Backlog
    • Status

      Prioritization

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions