Skip to content

Commit f2197e6

Browse files
committed
C++: Deprecate single-parameter 'getFieldExpr' and 'getElementExpr'.
1 parent f28cf25 commit f2197e6

File tree

11 files changed

+22
-22
lines changed

11 files changed

+22
-22
lines changed

cpp/ql/lib/semmle/code/cpp/PrintAST.qll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -752,13 +752,13 @@ private predicate namedExprChildPredicates(Expr expr, Element ele, string pred)
752752
expr.(VariableAccess).getQualifier() = ele and pred = "getQualifier()"
753753
or
754754
exists(Field f |
755-
expr.(ClassAggregateLiteral).getFieldExpr(f) = ele and
756-
pred = "getFieldExpr(" + f.toString() + ")"
755+
expr.(ClassAggregateLiteral).getAFieldExpr(f) = ele and
756+
pred = "getAFieldExpr(" + f.toString() + ")"
757757
)
758758
or
759759
exists(int n |
760-
expr.(ArrayOrVectorAggregateLiteral).getElementExpr(n) = ele and
761-
pred = "getElementExpr(" + n.toString() + ")"
760+
expr.(ArrayOrVectorAggregateLiteral).getAnElementExpr(n) = ele and
761+
pred = "getAnElementExpr(" + n.toString() + ")"
762762
)
763763
or
764764
expr.(AlignofExprOperator).getExprOperand() = ele and pred = "getExprOperand()"

cpp/ql/lib/semmle/code/cpp/Variable.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ class Variable extends Declaration, @variable {
133133
or
134134
exists(AssignExpr ae | ae.getLValue().(Access).getTarget() = this and result = ae.getRValue())
135135
or
136-
exists(ClassAggregateLiteral l | result = l.getFieldExpr(this))
136+
exists(ClassAggregateLiteral l | result = l.getAFieldExpr(this))
137137
}
138138

139139
/**

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowPrivate.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ predicate storeStep(Node node1, Content f, PostUpdateNode node2) {
159159
// `PostUpdateNode`, which means it must be an `ObjectInitializerNode`.
160160
node2.asExpr() = aggr and
161161
f.(FieldContent).getField() = field and
162-
aggr.getFieldExpr(field) = node1.asExpr()
162+
aggr.getAFieldExpr(field) = node1.asExpr()
163163
)
164164
or
165165
exists(FieldAccess fa |

cpp/ql/lib/semmle/code/cpp/exprs/Lambda.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ class LambdaCapture extends Locatable, @lambdacapture {
147147
*/
148148
Expr getInitializer() {
149149
exists(LambdaExpression lambda | this = lambda.getCapture(_) |
150-
result = lambda.getInitializer().getFieldExpr(this.getField())
150+
result = lambda.getInitializer().getAFieldExpr(this.getField())
151151
)
152152
}
153153
}

cpp/ql/lib/semmle/code/cpp/exprs/Literal.qll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ class ClassAggregateLiteral extends AggregateLiteral {
204204
* This predicate may have multiple results since a field can be initialized
205205
* multiple times in the same initializer.
206206
*/
207-
Expr getFieldExpr(Field field) { result = this.getFieldExpr(field, _) }
207+
deprecated Expr getFieldExpr(Field field) { result = this.getFieldExpr(field, _) }
208208

209209
/**
210210
* Gets the expression within the aggregate literal that is used to initialize
@@ -238,7 +238,7 @@ class ClassAggregateLiteral extends AggregateLiteral {
238238
(
239239
// If the field has an explicit initializer expression, then the field is
240240
// initialized.
241-
exists(this.getFieldExpr(field))
241+
exists(this.getAFieldExpr(field))
242242
or
243243
// If the type is not a union, all fields without initializers are value
244244
// initialized.
@@ -262,7 +262,7 @@ class ClassAggregateLiteral extends AggregateLiteral {
262262
pragma[inline]
263263
predicate isValueInitialized(Field field) {
264264
this.isInitialized(field) and
265-
not exists(this.getFieldExpr(field))
265+
not exists(this.getAFieldExpr(field))
266266
}
267267
}
268268

@@ -309,7 +309,7 @@ class ArrayOrVectorAggregateLiteral extends AggregateLiteral {
309309
* This predicate may have multiple results since an element can be initialized
310310
* multiple times in the same initializer.
311311
*/
312-
Expr getElementExpr(int elementIndex) { result = this.getElementExpr(elementIndex, _) }
312+
deprecated Expr getElementExpr(int elementIndex) { result = this.getElementExpr(elementIndex, _) }
313313

314314
/**
315315
* Gets the expression within the aggregate literal that is used to initialize

cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -606,9 +606,9 @@ newtype TTranslatedElement =
606606
not ignoreExpr(expr) and
607607
(
608608
exists(Initializer init | init.getExpr().getFullyConverted() = expr) or
609-
exists(ClassAggregateLiteral initList | initList.getFieldExpr(_).getFullyConverted() = expr) or
609+
exists(ClassAggregateLiteral initList | initList.getAFieldExpr(_).getFullyConverted() = expr) or
610610
exists(ArrayOrVectorAggregateLiteral initList |
611-
initList.getElementExpr(_).getFullyConverted() = expr
611+
initList.getAnElementExpr(_).getFullyConverted() = expr
612612
) or
613613
exists(ReturnStmt returnStmt | returnStmt.getExpr().getFullyConverted() = expr) or
614614
exists(ConstructorFieldInit fieldInit | fieldInit.getExpr().getFullyConverted() = expr) or
@@ -785,7 +785,7 @@ private int getNextExplicitlyInitializedElementAfter(
785785
ArrayOrVectorAggregateLiteral initList, int afterElementIndex
786786
) {
787787
isFirstValueInitializedElementInRange(initList, afterElementIndex) and
788-
result = min(int i | exists(initList.getElementExpr(i)) and i > afterElementIndex)
788+
result = min(int i | exists(initList.getAnElementExpr(i)) and i > afterElementIndex)
789789
}
790790

791791
/**
@@ -798,7 +798,7 @@ private predicate isFirstValueInitializedElementInRange(
798798
initList.isValueInitialized(elementIndex) and
799799
(
800800
elementIndex = 0 or
801-
exists(initList.getElementExpr(elementIndex - 1))
801+
exists(initList.getAnElementExpr(elementIndex - 1))
802802
)
803803
}
804804

cpp/ql/lib/semmle/code/cpp/valuenumbering/HashCons.qll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,7 @@ private predicate mk_FieldCons(
741741
analyzableClassAggregateLiteral(cal) and
742742
cal.getUnspecifiedType() = c and
743743
exists(Expr e |
744-
e = cal.getFieldExpr(f).getFullyConverted() and
744+
e = cal.getAFieldExpr(f).getFullyConverted() and
745745
f.getInitializationOrder() = i and
746746
(
747747
hc = hashCons(e) and
@@ -757,9 +757,9 @@ private predicate mk_FieldCons(
757757
private predicate analyzableClassAggregateLiteral(ClassAggregateLiteral cal) {
758758
forall(int i | exists(cal.getChild(i)) |
759759
strictcount(cal.getChild(i).getFullyConverted()) = 1 and
760-
strictcount(Field f | cal.getChild(i) = cal.getFieldExpr(f)) = 1 and
760+
strictcount(Field f | cal.getChild(i) = cal.getAFieldExpr(f)) = 1 and
761761
strictcount(Field f, int j |
762-
cal.getFieldExpr(f) = cal.getChild(i) and j = f.getInitializationOrder()
762+
cal.getAFieldExpr(f) = cal.getChild(i) and j = f.getInitializationOrder()
763763
) = 1
764764
)
765765
}

cpp/ql/test/library-tests/literals/aggregate_literals/arrays.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ import cpp
22

33
from ArrayType a, ArrayAggregateLiteral al, int i
44
where a = al.getType()
5-
select al, a, i, al.getElementExpr(i)
5+
select al, a, i, al.getAnElementExpr(i)

cpp/ql/test/library-tests/literals/aggregate_literals/arrays_child_exprs.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ import cpp
55
// (which, in the case of designated initializers, will not necessarily match
66
// the order of the array elements).
77
from ArrayAggregateLiteral aal, int childIndex, int elementIndex
8-
where aal.getElementExpr(elementIndex) = aal.getChild(childIndex)
8+
where aal.getAnElementExpr(elementIndex) = aal.getChild(childIndex)
99
select aal, aal.getUnspecifiedType(), childIndex, aal.getChild(childIndex), elementIndex

cpp/ql/test/library-tests/literals/aggregate_literals/classes.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ from Class c, ClassAggregateLiteral al, Field f
44
where
55
c = al.getType() and
66
f = c.getAField()
7-
select al, c, f, al.getFieldExpr(f)
7+
select al, c, f, al.getAFieldExpr(f)

0 commit comments

Comments
 (0)