Skip to content

Commit 18d267d

Browse files
committed
C#: The field access should be on this for it to be compatible with readonly.
1 parent d3f4310 commit 18d267d

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

csharp/ql/src/Language Abuse/MissedReadonlyOpportunity.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ predicate defTargetsField(AssignableDefinition def, Field f) {
2020
predicate isReadonlyCompatibleDefinition(AssignableDefinition def, Field f) {
2121
defTargetsField(def, f) and
2222
(
23-
def.getEnclosingCallable().(Constructor).getDeclaringType() = f.getDeclaringType()
23+
def.getEnclosingCallable().(Constructor).getDeclaringType() = f.getDeclaringType() and
24+
def.getTargetAccess().(QualifiableExpr).getQualifier() instanceof ThisAccess
2425
or
2526
def instanceof AssignableDefinitions::InitializerDefinition
2627
)

0 commit comments

Comments
 (0)