Patch: Store brackets for C++ array subscripbtion


Attached is a patch to store the location of the brackets for calls to array subscription expressions when the caller is a C++ operator:

struct Foo {
int operator;
static void mooze() {
Foo bar;
bar[1]; // <— this call
bar; // <— not this call

I tried to make the least intrusive patch as possible, but I am not sure if there are more cases where the DeclRefExpr should store a DeclarationNameLoc then only the overloaded array subscription.


store-brackets.patch (2.07 KB)