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

Skip to content

Commit 7e7a52d

Browse files
committed
Stub IndexerName attribute
1 parent 5e07d82 commit 7e7a52d

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

csharp/ql/src/Stubs/Stubs.qll

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -693,9 +693,9 @@ private string stubMember(Member m) {
693693
if m instanceof Indexer
694694
then
695695
result =
696-
" " + stubModifiers(m) + stubClassName(m.(Indexer).getType()) + " " +
697-
stubExplicitImplementation(m) + "this[" + stubParameters(m) + "] { " +
698-
stubGetter(m) + stubSetter(m) + "}\n"
696+
" " + stubIndexerNameAttribute(m) + stubModifiers(m) +
697+
stubClassName(m.(Indexer).getType()) + " " + stubExplicitImplementation(m) +
698+
"this[" + stubParameters(m) + "] { " + stubGetter(m) + stubSetter(m) + "}\n"
699699
else
700700
if m instanceof Field // EnumConstants are already stubbed
701701
then
@@ -719,6 +719,12 @@ private string stubMember(Member m) {
719719
" // ERR: Stub generator didn't handle member: " + m.getName() + "\n"
720720
}
721721

722+
private string stubIndexerNameAttribute(Indexer i) {
723+
if i.getName() != "Item"
724+
then result = "[System.Runtime.CompilerServices.IndexerName(\"" + i.getName() + "\")]\n "
725+
else result = ""
726+
}
727+
722728
private Constructor getBaseConstructor(ValueOrRefType type) {
723729
result =
724730
min(Constructor bc |

0 commit comments

Comments
 (0)