diff --git a/csharp/ql/src/semmle/code/csharp/Variable.qll b/csharp/ql/src/semmle/code/csharp/Variable.qll index 88f24dc51e6..6756ca6e533 100644 --- a/csharp/ql/src/semmle/code/csharp/Variable.qll +++ b/csharp/ql/src/semmle/code/csharp/Variable.qll @@ -237,6 +237,7 @@ class Parameter extends DotNet::Parameter, LocalScopeVariable, Attributable, Top * The assigned arguments to `x` are `1` and `4`, the assigned argument to * `y` is `5`, and the assigned arguments to `z` are `3` and `6`, respectively. */ + pragma[nomagic] Expr getAnAssignedArgument() { result = getCallable().getACall().getArgumentForParameter(this) } /** Holds if this parameter is potentially overwritten in the body of its callable. */ diff --git a/csharp/ql/src/semmle/code/csharp/commons/StructuralComparison.qll b/csharp/ql/src/semmle/code/csharp/commons/StructuralComparison.qll index 5757633d3b0..014d3ce17ce 100644 --- a/csharp/ql/src/semmle/code/csharp/commons/StructuralComparison.qll +++ b/csharp/ql/src/semmle/code/csharp/commons/StructuralComparison.qll @@ -77,7 +77,7 @@ abstract class StructuralComparisonConfiguration extends string { private predicate sameByValue(Expr x, Expr y) { sameByValueAux(x, y, y.getValue()) } - pragma[noinline] + pragma[nomagic] private predicate sameByValueAux(Expr x, Expr y, string value) { candidateInternal(x, y) and value = x.getValue() diff --git a/csharp/ql/src/semmle/code/csharp/controlflow/Guards.qll b/csharp/ql/src/semmle/code/csharp/controlflow/Guards.qll index cca3b97ad93..9ab281c4958 100644 --- a/csharp/ql/src/semmle/code/csharp/controlflow/Guards.qll +++ b/csharp/ql/src/semmle/code/csharp/controlflow/Guards.qll @@ -1248,6 +1248,7 @@ module Internal { ) } + pragma[nomagic] private Expr getAnEqualityCheckVal(Expr e, AbstractValue v, AbstractValue vExpr) { result = getAnEqualityCheck(e, v, vExpr.getAnExpr()) }