Skip to content

Commit 5a28a4b

Browse files
committed
Unified: Consider all class-like decls as static members in name binding
1 parent 14034ae commit 5a28a4b

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

‎unified/ql/lib/codeql/unified/internal/NameBindingPlugin.qll‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ predicate isStaticMember(Member member) {
9999
exists(ClassLikeDeclaration cls | cls.getAMember() = member |
100100
not any(NameBindingPlugin p).isInstanceMember(cls, member) or
101101
member instanceof ConstructorDeclaration or
102-
member instanceof TypeAliasDeclaration
102+
member instanceof TypeAliasDeclaration or
103+
member instanceof ClassLikeDeclaration
103104
)
104105
or
105106
member = any(TopLevel t).getBody().getAStmt()

‎unified/ql/test/library-tests/static-name-binding/test.swift‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ let x1: B = nil // $ access=top.B
1414
let x2: A.B = nil // $ access=A access=A.B
1515
let x3: A.B.C = nil // $ access=A access=A.B access=A.B.C
1616
let x4: A.BAlias.C = nil // $ access=A access=A.BAlias access=A.B.C
17-
let x5 = A.Enum.empty // $ access=A $ MISSING: access=A.Enum access=A.Enum.empty
17+
let x5 = A.Enum.empty // $ access=A access=A.Enum access=A.Enum.empty
1818

1919
class D {
2020
let x1: B = nil // $ access=top.B

0 commit comments

Comments
 (0)