@@ -102,15 +102,16 @@ private ValueOrRefType getAnInterestingBaseType(ValueOrRefType type) {
102102 not type instanceof ArrayType and
103103 not type instanceof NullableType and
104104 result = type .getABaseType ( ) and
105- isInterestingBaseType ( result )
105+ isInterestingBaseType ( type , result )
106106}
107107
108- private predicate isInterestingBaseType ( ValueOrRefType base ) {
108+ private predicate isInterestingBaseType ( ValueOrRefType type , ValueOrRefType base ) {
109109 not base instanceof ObjectType and
110110 not base .getQualifiedName ( ) = "System.ValueType" and
111111 not base .getQualifiedName ( ) = "System.Delegate" and
112112 not base .getQualifiedName ( ) = "System.MulticastDelegate" and
113- not base .getQualifiedName ( ) = "System.Enum"
113+ not base .getQualifiedName ( ) = "System.Enum" and
114+ exists ( TypeMention tm | tm .getTarget ( ) = type and tm .getType ( ) = base )
114115}
115116
116117/**
@@ -570,11 +571,12 @@ final class TypeNode extends ElementNode {
570571 result .( BaseTypesNode ) .getValueOrRefType ( ) = type
571572 or
572573 result .( ElementNode ) .getElement ( ) =
573- rank [ childIndex - 3 ] ( Member m , string file , int line , int column |
574+ rank [ childIndex - 3 ] ( Member m , string file , int line , int column , string name |
574575 m = type .getAMember ( ) and
576+ name = m .getName ( ) and
575577 locationSortKeys ( m , file , line , column )
576578 |
577- m order by file , line , column
579+ m order by file , line , column , name
578580 )
579581 }
580582}
0 commit comments