Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3a83dc5

Browse files
author
AndreiDiaconu1
committed
Update indexing logic
1 parent 4775051 commit 3a83dc5

4 files changed

Lines changed: 11 additions & 9 deletions

File tree

csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/TranslatedElement.qll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ ArrayType getArrayOfDim(int dim, Type type) {
2626
}
2727

2828
private predicate canCreateCompilerGeneratedElement(Element generatedBy, int nth) {
29-
generatedBy instanceof ForeachStmt and nth in [0 .. ForeachElements::noGeneratedElements()]
29+
generatedBy instanceof ForeachStmt and nth in [0 .. ForeachElements::noGeneratedElements() - 1]
3030
or
31-
generatedBy instanceof LockStmt and nth in [0 .. LockElements::noGeneratedElements()]
31+
generatedBy instanceof LockStmt and nth in [0 .. LockElements::noGeneratedElements() - 1]
3232
or
3333
generatedBy instanceof DelegateCreation and
34-
nth in [0 .. DelegateElements::noGeneratedElements(generatedBy)]
34+
nth in [0 .. DelegateElements::noGeneratedElements(generatedBy) - 1]
3535
or
3636
generatedBy instanceof DelegateCall and
37-
nth in [0 .. DelegateElements::noGeneratedElements(generatedBy)]
37+
nth in [0 .. DelegateElements::noGeneratedElements(generatedBy) - 1]
3838
}
3939

4040
/**

csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/desugar/Delegate.qll

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,11 @@ module DelegateElements {
3333
TranslatedDelegateInvokeCall getInvoke(DelegateCall generatedBy) { result.getAST() = generatedBy }
3434

3535
int noGeneratedElements(Element generatedBy) {
36-
generatedBy instanceof DelegateCreation and result = 1
37-
or
38-
generatedBy instanceof DelegateCall and result = 1
36+
(
37+
generatedBy instanceof DelegateCreation or
38+
generatedBy instanceof DelegateCall
39+
) and
40+
result = 2
3941
}
4042
}
4143

csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/desugar/Foreach.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ module ForeachElements {
5959

6060
TranslatedForeachEnumerator getEnumDecl(ForeachStmt generatedBy) { result.getAST() = generatedBy }
6161

62-
int noGeneratedElements() { result = 12 }
62+
int noGeneratedElements() { result = 13 }
6363
}
6464

6565
private class TranslatedForeachTry extends TranslatedCompilerGeneratedTry,

csharp/ql/src/semmle/code/csharp/ir/implementation/raw/internal/desugar/Lock.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ module LockElements {
4949
result.getAST() = generatedBy
5050
}
5151

52-
int noGeneratedElements() { result = 13 }
52+
int noGeneratedElements() { result = 14 }
5353
}
5454

5555
/**

0 commit comments

Comments
 (0)