Skip to content

Commit 1756034

Browse files
committed
C#/Java: Lift to unbound generic implementations.
1 parent b3c16b4 commit 1756034

2 files changed

Lines changed: 5 additions & 3 deletions

File tree

csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,9 @@ module SummaryModelGeneratorInput implements SummaryModelGeneratorInputSig {
213213
}
214214

215215
private Callable getARelevantOverrideeOrImplementee(Overridable m) {
216-
m.overridesOrImplements(result) and relevant(result)
216+
m.fromSource() and
217+
exists(Callable c | m.overridesOrImplements(c) and result = c.getUnboundDeclaration()) and
218+
relevant(result)
217219
}
218220

219221
/**

java/ql/src/utils/modelgenerator/internal/CaptureModels.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,8 @@ module SummaryModelGeneratorInput implements SummaryModelGeneratorInputSig {
166166

167167
Parameter asParameter(NodeExtended node) { result = node.asParameter() }
168168

169-
private J::Method getARelevantOverride(J::Method m) {
170-
result = m.getAnOverride() and
169+
private J::SrcMethod getARelevantOverride(J::Method m) {
170+
result = m.getAnOverride().getSourceDeclaration() and
171171
relevant(result) and
172172
// Other exclusions for overrides.
173173
not m instanceof J::ToStringMethod

0 commit comments

Comments
 (0)