Skip to content

Commit dd99a2d

Browse files
authored
Merge pull request #20294 from github/kaspersv/discard-fields-and-classes
Overlay: Add discarding for Java classes, interfaces & fields
2 parents 2a45b28 + 9cc6e9c commit dd99a2d

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

java/ql/lib/semmle/code/java/Member.qll

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -848,6 +848,9 @@ class Field extends Member, ExprParent, @field, Variable {
848848
override string getAPrimaryQlClass() { result = "Field" }
849849
}
850850

851+
overlay[local]
852+
private class DiscardableField extends DiscardableReferableLocatable, @field { }
853+
851854
/** An instance field. */
852855
class InstanceField extends Field {
853856
InstanceField() { not this.isStatic() }

java/ql/lib/semmle/code/java/Type.qll

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ module;
1515
import Member
1616
import Modifier
1717
import JDK
18+
private import semmle.code.java.Overlay
1819

1920
/**
2021
* Holds if reference type `t` is an immediate super-type of `sub`.
@@ -998,6 +999,10 @@ class ClassOrInterface extends RefType, @classorinterface {
998999
CompanionObject getCompanionObject() { type_companion_object(this, _, result) }
9991000
}
10001001

1002+
overlay[local]
1003+
private class DiscardableClassOrInterface extends DiscardableReferableLocatable, @classorinterface {
1004+
}
1005+
10011006
private string getAPublicObjectMethodSignature() {
10021007
exists(Method m |
10031008
m.getDeclaringType() instanceof TypeObject and

0 commit comments

Comments
 (0)