@@ -586,14 +586,6 @@ private predicate elementSpec(
586
586
summaryModel ( namespace , type , subtypes , name , signature , ext , _, _, _)
587
587
}
588
588
589
- bindingset [ namespace, type, subtypes]
590
- private RefType interpretType ( string namespace , string type , boolean subtypes ) {
591
- exists ( RefType t |
592
- t .hasQualifiedName ( namespace , type ) and
593
- if subtypes = true then result .getASourceSupertype * ( ) = t else result = t
594
- )
595
- }
596
-
597
589
private string paramsStringPart ( Callable c , int i ) {
598
590
i = - 1 and result = "("
599
591
or
@@ -614,9 +606,13 @@ private Element interpretElement0(
614
606
string namespace , string type , boolean subtypes , string name , string signature
615
607
) {
616
608
elementSpec ( namespace , type , subtypes , name , signature , _) and
617
- exists ( RefType t | t = interpretType ( namespace , type , subtypes ) |
609
+ exists ( RefType t | t . hasQualifiedName ( namespace , type ) |
618
610
exists ( Member m |
619
- result = m and
611
+ (
612
+ result = m
613
+ or
614
+ subtypes = true and result .( SrcMethod ) .overridesOrInstantiates + ( m )
615
+ ) and
620
616
m .getDeclaringType ( ) = t and
621
617
m .hasName ( name )
622
618
|
@@ -625,7 +621,7 @@ private Element interpretElement0(
625
621
paramsString ( m ) = signature
626
622
)
627
623
or
628
- result = t and
624
+ ( if subtypes = true then result . ( SrcRefType ) . getASourceSupertype * ( ) = t else result = t ) and
629
625
name = "" and
630
626
signature = ""
631
627
)
0 commit comments