mirror of
https://github.com/github/codeql.git
synced 2026-04-27 01:35:13 +02:00
C#: Deprecate getFullyQualifiedNameWithTypes.
This commit is contained in:
@@ -87,7 +87,7 @@ class Declaration extends NamedElement, @declaration {
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
string getFullyQualifiedNameWithTypes() {
|
||||
deprecated string getFullyQualifiedNameWithTypes() {
|
||||
exists(string fullqual, string qual, string name |
|
||||
this.getDeclaringType().hasFullyQualifiedName(qual, name) and
|
||||
fullqual = getQualifiedName(qual, name) and
|
||||
|
||||
@@ -219,3 +219,28 @@ predicate splitQualifiedName(string qualifiedName, string qualifier, string name
|
||||
name = qualifiedName
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*
|
||||
* Gets the fully qualified name of this declaration, including types, for example
|
||||
* the fully qualified name with types of `M` on line 3 is `N.C.M(int, string)` in
|
||||
*
|
||||
* ```csharp
|
||||
* namespace N {
|
||||
* class C {
|
||||
* void M(int i, string s) { }
|
||||
* }
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
bindingset[d]
|
||||
string getFullyQualifiedNameWithTypes(Declaration d) {
|
||||
exists(string fullqual, string qual, string name |
|
||||
d.getDeclaringType().hasFullyQualifiedName(qual, name) and
|
||||
fullqual = getQualifiedName(qual, name) and
|
||||
if d instanceof NestedType
|
||||
then result = fullqual + "+" + d.toStringWithTypes()
|
||||
else result = fullqual + "." + d.toStringWithTypes()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import csharp
|
||||
import semmle.code.csharp.commons.QualifiedName
|
||||
import semmle.code.csharp.dispatch.Dispatch
|
||||
|
||||
from DispatchCall call, Callable callable
|
||||
where
|
||||
callable = call.getADynamicTarget() and
|
||||
callable.fromSource()
|
||||
select call, callable.getFullyQualifiedNameWithTypes()
|
||||
select call, getFullyQualifiedNameWithTypes(callable)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import csharp
|
||||
import semmle.code.csharp.commons.QualifiedName
|
||||
import semmle.code.csharp.frameworks.System
|
||||
|
||||
from ValueOrRefType t, Method m, boolean b
|
||||
@@ -6,4 +7,4 @@ where
|
||||
t.fromSource() and
|
||||
m = getInvokedDisposeMethod(t) and
|
||||
if implementsDispose(t) then b = true else b = false
|
||||
select t, m.getFullyQualifiedNameWithTypes(), b
|
||||
select t, getFullyQualifiedNameWithTypes(m), b
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import csharp
|
||||
import semmle.code.csharp.commons.QualifiedName
|
||||
import semmle.code.csharp.frameworks.System
|
||||
|
||||
from ValueOrRefType t, Method m, boolean b
|
||||
@@ -6,4 +7,4 @@ where
|
||||
t.fromSource() and
|
||||
m = getInvokedEqualsMethod(t) and
|
||||
if implementsEquals(t) then b = true else b = false
|
||||
select t, m.getFullyQualifiedNameWithTypes(), b
|
||||
select t, getFullyQualifiedNameWithTypes(m), b
|
||||
|
||||
@@ -231,18 +231,18 @@ query predicate test27(ConstructedType ct, UnboundGenericType ugt, UnboundGeneri
|
||||
|
||||
query predicate test28(UnboundGeneric ug, string s) {
|
||||
ug.fromSource() and
|
||||
s = ug.getFullyQualifiedNameWithTypes()
|
||||
s = getFullyQualifiedNameWithTypes(ug)
|
||||
}
|
||||
|
||||
query predicate test29(ConstructedGeneric cg, string s) {
|
||||
cg.fromSource() and
|
||||
s = cg.getFullyQualifiedNameWithTypes()
|
||||
s = getFullyQualifiedNameWithTypes(cg)
|
||||
}
|
||||
|
||||
query predicate test30(Declaration d, string s) {
|
||||
d.fromSource() and
|
||||
d instanceof @generic and
|
||||
s = d.getFullyQualifiedNameWithTypes() and
|
||||
s = getFullyQualifiedNameWithTypes(d) and
|
||||
d != d.getUnboundDeclaration() and
|
||||
not d instanceof Generic
|
||||
}
|
||||
@@ -263,7 +263,7 @@ query predicate test33(ConstructedMethod cm, string s1, string s2) {
|
||||
exists(string namespace, string type, string name |
|
||||
cm.hasFullyQualifiedName(namespace, type, name) and s1 = getQualifiedName(namespace, type, name)
|
||||
) and
|
||||
cm.getFullyQualifiedNameWithTypes() = s2
|
||||
getFullyQualifiedNameWithTypes(cm) = s2
|
||||
}
|
||||
|
||||
query predicate test34(UnboundGeneric ug, string s1, string s2) {
|
||||
@@ -271,7 +271,7 @@ query predicate test34(UnboundGeneric ug, string s1, string s2) {
|
||||
exists(string qualifier, string name |
|
||||
ug.hasFullyQualifiedName(qualifier, name) and s1 = getQualifiedName(qualifier, name)
|
||||
) and
|
||||
ug.getFullyQualifiedNameWithTypes() = s2
|
||||
getFullyQualifiedNameWithTypes(ug) = s2
|
||||
}
|
||||
|
||||
query predicate test35(UnboundGenericMethod gm, string s1, string s2) {
|
||||
@@ -279,5 +279,5 @@ query predicate test35(UnboundGenericMethod gm, string s1, string s2) {
|
||||
exists(string namespace, string type, string name |
|
||||
gm.hasFullyQualifiedName(namespace, type, name) and s1 = getQualifiedName(namespace, type, name)
|
||||
) and
|
||||
gm.getFullyQualifiedNameWithTypes() = s2
|
||||
getFullyQualifiedNameWithTypes(gm) = s2
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import csharp
|
||||
import semmle.code.csharp.commons.QualifiedName
|
||||
|
||||
from Overridable v1, Overridable v2, string kind
|
||||
where
|
||||
@@ -9,4 +10,4 @@ where
|
||||
) and
|
||||
v1.fromSource() and
|
||||
v2.fromSource()
|
||||
select v1.getFullyQualifiedNameWithTypes(), v2.getFullyQualifiedNameWithTypes(), kind
|
||||
select getFullyQualifiedNameWithTypes(v1), getFullyQualifiedNameWithTypes(v2), kind
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import semmle.code.csharp.commons.QualifiedName
|
||||
import semmle.code.csharp.Unification
|
||||
|
||||
class InterestingType extends @type {
|
||||
@@ -7,9 +8,9 @@ class InterestingType extends @type {
|
||||
}
|
||||
|
||||
string toString() {
|
||||
result = this.(Type).getFullyQualifiedNameWithTypes()
|
||||
result = getFullyQualifiedNameWithTypes(this.(Type))
|
||||
or
|
||||
not exists(this.(Type).getFullyQualifiedNameWithTypes()) and
|
||||
not exists(getFullyQualifiedNameWithTypes(this.(Type))) and
|
||||
result = this.(Type).toStringWithTypes()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user