Skip to content

Commit 0a3295e

Browse files
committed
C#: Address review comments.
1 parent ae4f4d6 commit 0a3295e

36 files changed

+185
-184
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
---
22
category: minorAnalysis
33
---
4-
* Deprecate `hasQualifiedName/1`. Use `hasQualifiedName/2` or `hasQualifiedName/3` instead.
4+
* `Element::hasQualifiedName/1` has been deprecated. Use `hasQualifiedName/2` or `hasQualifiedName/3` instead.

csharp/ql/lib/csharp.qll

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import semmle.code.csharp.Using
2121
import semmle.code.csharp.Variable
2222
import semmle.code.csharp.XML
2323
import semmle.code.csharp.Preprocessor
24-
import semmle.code.csharp.Printing
2524
import semmle.code.csharp.exprs.Access
2625
import semmle.code.csharp.exprs.ArithmeticOperation
2726
import semmle.code.csharp.exprs.Assignment

csharp/ql/lib/semmle/code/asp/AspNet.qll

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66

77
import csharp
8+
private import semmle.code.csharp.commons.QualifiedName
89

910
/**
1011
* An ASP.NET program element. Either an attribute (`AspAttribute`), an open
@@ -184,9 +185,9 @@ class PageDirective extends AspDirective {
184185
* Gets the 'CodeBehind' class from which this page inherits.
185186
*/
186187
ValueOrRefType getInheritedType() {
187-
exists(string qualifier, string name |
188-
result.hasQualifiedName(qualifier, name) and
189-
printQualifiedName(qualifier, name) = this.getInheritedTypeQualifiedName()
188+
exists(string namespace, string type |
189+
result.hasQualifiedName(namespace, type) and
190+
splitQualifiedName(this.getInheritedTypeQualifiedName(), namespace, type)
190191
)
191192
}
192193

csharp/ql/lib/semmle/code/cil/ConsistencyChecks.qll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
private import CIL
66
private import csharp as CS
7+
private import semmle.code.csharp.commons.QualifiedName
78

89
private newtype ConsistencyCheck =
910
MissingEntityCheck() or
@@ -484,12 +485,11 @@ class InvalidOverride extends MethodViolation {
484485
}
485486

486487
override string getMessage() {
487-
exists(string qualifier, string name |
488-
base.getDeclaringType().hasQualifiedName(qualifier, name)
488+
exists(string namespace, string type |
489+
base.getDeclaringType().hasQualifiedName(namespace, type)
489490
|
490491
result =
491-
"Overridden method from " + CS::printQualifiedName(qualifier, name) +
492-
" is not in a base type"
492+
"Overridden method from " + printQualifiedName(namespace, type) + " is not in a base type"
493493
)
494494
}
495495
}

csharp/ql/lib/semmle/code/cil/Type.qll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import CIL
66
private import dotnet
7-
private import semmle.code.csharp.Printing
7+
private import semmle.code.csharp.commons.QualifiedName
88

99
/**
1010
* Something that contains other types.
@@ -51,10 +51,10 @@ class Type extends DotNet::Type, Declaration, TypeContainer, @cil_type {
5151
*/
5252
Type getUnboundType() { cil_type(this, _, _, _, result) }
5353

54-
override predicate hasQualifiedName(string qualifier, string name) {
54+
override predicate hasQualifiedName(string namespace, string name) {
5555
name = this.getName() and
56-
exists(string pqualifier, string pname | this.getParent().hasQualifiedName(pqualifier, pname) |
57-
qualifier = printQualifiedName(pqualifier, pname)
56+
exists(string pnamespace, string pname | this.getParent().hasQualifiedName(pnamespace, pname) |
57+
namespace = printQualifiedName(pnamespace, pname)
5858
)
5959
}
6060

csharp/ql/lib/semmle/code/cil/Variable.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class Variable extends DotNet::Variable, Declaration, DataFlowNode, @cil_variabl
2929

3030
/** A stack variable. Either a local variable (`LocalVariable`) or a parameter (`Parameter`). */
3131
class StackVariable extends Variable, @cil_stack_variable {
32-
override predicate hasQualifiedName(string qualifier, string name) { none() }
32+
override predicate hasQualifiedName(string namespace, string name) { none() }
3333
}
3434

3535
/**

csharp/ql/lib/semmle/code/csharp/Callable.qll

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Member
77
import Stmt
88
import Type
99
import exprs.Call
10+
private import commons.QualifiedName
1011
private import dotnet
1112
private import semmle.code.csharp.ExprOrStmtParent
1213
private import semmle.code.csharp.metrics.Complexity
@@ -455,8 +456,8 @@ class Operator extends Callable, Member, Attributable, @operator {
455456

456457
override Parameter getRawParameter(int i) { result = this.getParameter(i) }
457458

458-
override predicate hasQualifiedName(string qualifier, string name) {
459-
super.hasQualifiedName(qualifier, _) and
459+
override predicate hasQualifiedName(string namespace, string name) {
460+
super.hasQualifiedName(namespace, _) and
460461
name = this.getFunctionName()
461462
}
462463

@@ -1000,10 +1001,10 @@ class LocalFunction extends Callable, Modifiable, Attributable, @local_function
10001001

10011002
override Callable getEnclosingCallable() { result = this.getStatement().getEnclosingCallable() }
10021003

1003-
override predicate hasQualifiedName(string qualifier, string name) {
1004-
exists(string cqualifier, string type |
1005-
this.getEnclosingCallable().hasQualifiedName(cqualifier, type) and
1006-
qualifier = printQualifiedName(cqualifier, type)
1004+
override predicate hasQualifiedName(string namespace, string name) {
1005+
exists(string cnamespace, string type |
1006+
this.getEnclosingCallable().hasQualifiedName(cnamespace, type) and
1007+
namespace = printQualifiedName(cnamespace, type)
10071008
) and
10081009
name = this.getName()
10091010
}

csharp/ql/lib/semmle/code/csharp/Generics.qll

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import Location
1717
import Namespace
18+
private import commons.QualifiedName
1819
private import dotnet
1920
private import TypeRef
2021

@@ -99,9 +100,9 @@ private string getTypeArgumentsNames(ConstructedGeneric cg) {
99100

100101
bindingset[t]
101102
private string getFullName(Type t) {
102-
exists(string qualifier, string name |
103-
t.hasQualifiedName(qualifier, name) and
104-
result = printQualifiedName(qualifier, name)
103+
exists(string namespace, string name |
104+
t.hasQualifiedName(namespace, name) and
105+
result = printQualifiedName(namespace, name)
105106
)
106107
}
107108

@@ -158,15 +159,15 @@ class UnboundGenericType extends ValueOrRefType, UnboundGeneric {
158159
result = this.getUndecoratedName() + "<" + getTypeParameterCommas(this) + ">"
159160
}
160161

161-
final override predicate hasQualifiedName(string qualifier, string name) {
162+
final override predicate hasQualifiedName(string namespace, string name) {
162163
exists(string name0 | name = name0 + "<" + getTypeParameterCommas(this) + ">" |
163164
exists(string enclosing |
164-
this.getDeclaringType().hasQualifiedName(qualifier, enclosing) and
165+
this.getDeclaringType().hasQualifiedName(namespace, enclosing) and
165166
name0 = enclosing + "+" + this.getUndecoratedName()
166167
)
167168
or
168169
not exists(this.getDeclaringType()) and
169-
qualifier = this.getNamespace().getFullName() and
170+
namespace = this.getNamespace().getFullName() and
170171
name0 = this.getUndecoratedName()
171172
)
172173
}
@@ -236,8 +237,8 @@ class TypeParameter extends DotNet::TypeParameter, Type, @type_parameter {
236237
/** Gets the generic that defines this type parameter. */
237238
UnboundGeneric getGeneric() { type_parameters(this, _, result, _) }
238239

239-
final override predicate hasQualifiedName(string qualifier, string name) {
240-
qualifier = "" and
240+
final override predicate hasQualifiedName(string namespace, string name) {
241+
namespace = "" and
241242
name = this.getName()
242243
}
243244

@@ -423,15 +424,15 @@ class ConstructedType extends ValueOrRefType, ConstructedGeneric {
423424
result = this.getUndecoratedName() + "<" + getTypeArgumentsNames(this) + ">"
424425
}
425426

426-
final override predicate hasQualifiedName(string qualifier, string name) {
427+
final override predicate hasQualifiedName(string namespace, string name) {
427428
exists(string name0 | name = name0 + "<" + getTypeArgumentsQualifiedNames(this) + ">" |
428429
exists(string enclosing |
429-
this.getDeclaringType().hasQualifiedName(qualifier, enclosing) and
430+
this.getDeclaringType().hasQualifiedName(namespace, enclosing) and
430431
name0 = enclosing + "+" + this.getUndecoratedName()
431432
)
432433
or
433434
not exists(this.getDeclaringType()) and
434-
qualifier = this.getNamespace().getFullName() and
435+
namespace = this.getNamespace().getFullName() and
435436
name0 = this.getUndecoratedName()
436437
)
437438
}
@@ -601,8 +602,8 @@ class ConstructedMethod extends Method, ConstructedGeneric {
601602
result = this.getUndecoratedName() + "<" + getTypeArgumentsNames(this) + ">"
602603
}
603604

604-
override predicate hasQualifiedName(string qualifier, string type, string name) {
605-
this.getDeclaringType().hasQualifiedName(qualifier, type) and
605+
override predicate hasQualifiedName(string namespace, string type, string name) {
606+
this.getDeclaringType().hasQualifiedName(namespace, type) and
606607
name = this.getUndecoratedName() + "<" + getTypeArgumentsQualifiedNames(this) + ">"
607608
}
608609

csharp/ql/lib/semmle/code/csharp/Printing.qll

Lines changed: 0 additions & 19 deletions
This file was deleted.

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

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,19 @@ private predicate isObjectClass(Class c) { c instanceof ObjectType }
5757
*/
5858
class ValueOrRefType extends DotNet::ValueOrRefType, Type, Attributable, @value_or_ref_type {
5959
/**
60-
* Holds if this type has the qualified name `qualifier`.`name`.
60+
* Holds if this type has the qualified name `namespace`.`name`.
6161
*
6262
* For example the class `System.IO.IOException` has
63-
* `qualifier`=`System.IO` and `name`=`IOException`.
63+
* `namespace`=`System.IO` and `name`=`IOException`.
6464
*/
65-
override predicate hasQualifiedName(string qualifier, string name) {
65+
override predicate hasQualifiedName(string namespace, string name) {
6666
exists(string enclosing |
67-
this.getDeclaringType().hasQualifiedName(qualifier, enclosing) and
67+
this.getDeclaringType().hasQualifiedName(namespace, enclosing) and
6868
name = enclosing + "+" + this.getUndecoratedName()
6969
)
7070
or
7171
not exists(this.getDeclaringType()) and
72-
qualifier = this.getNamespace().getFullName() and
72+
namespace = this.getNamespace().getFullName() and
7373
name = this.getUndecoratedName()
7474
}
7575

@@ -398,8 +398,8 @@ class NonNestedType extends ValueOrRefType {
398398
* The `void` type.
399399
*/
400400
class VoidType extends DotNet::ValueOrRefType, Type, @void_type {
401-
override predicate hasQualifiedName(string qualifier, string name) {
402-
qualifier = "System" and
401+
override predicate hasQualifiedName(string namespace, string name) {
402+
namespace = "System" and
403403
name = "Void"
404404
}
405405

@@ -1007,8 +1007,8 @@ class NullableType extends ValueType, DotNet::ConstructedGeneric, @nullable_type
10071007
result = "Nullable<" + this.getUnderlyingType().getName() + ">"
10081008
}
10091009

1010-
final override predicate hasQualifiedName(string qualifier, string name) {
1011-
qualifier = "System" and
1010+
final override predicate hasQualifiedName(string namespace, string name) {
1011+
namespace = "System" and
10121012
name = "Nullable<" + this.getUnderlyingType().getQualifiedName() + ">"
10131013
}
10141014
}
@@ -1076,9 +1076,9 @@ class ArrayType extends DotNet::ArrayType, RefType, @array_type {
10761076
result = this.getElementType().getALocation()
10771077
}
10781078

1079-
final override predicate hasQualifiedName(string qualifier, string name) {
1079+
final override predicate hasQualifiedName(string namespace, string name) {
10801080
exists(Type elementType, string name0 |
1081-
elementType.hasQualifiedName(qualifier, name0) and
1081+
elementType.hasQualifiedName(namespace, name0) and
10821082
name = name0 + this.getDimensionString(elementType)
10831083
)
10841084
}
@@ -1106,9 +1106,9 @@ class PointerType extends DotNet::PointerType, Type, @pointer_type {
11061106

11071107
override string getAPrimaryQlClass() { result = "PointerType" }
11081108

1109-
final override predicate hasQualifiedName(string qualifier, string name) {
1109+
final override predicate hasQualifiedName(string namespace, string name) {
11101110
exists(string name0 |
1111-
this.getReferentType().hasQualifiedName(qualifier, name0) and
1111+
this.getReferentType().hasQualifiedName(namespace, name0) and
11121112
name = name0 + "*"
11131113
)
11141114
}
@@ -1190,8 +1190,8 @@ class TupleType extends ValueType, @tuple_type {
11901190

11911191
override Type getChild(int i) { result = this.getUnderlyingType().getChild(i) }
11921192

1193-
final override predicate hasQualifiedName(string qualifier, string name) {
1194-
this.getUnderlyingType().hasQualifiedName(qualifier, name)
1193+
final override predicate hasQualifiedName(string namespace, string name) {
1194+
this.getUnderlyingType().hasQualifiedName(namespace, name)
11951195
}
11961196

11971197
override string getAPrimaryQlClass() { result = "TupleType" }

0 commit comments

Comments
 (0)