EXIT_DO : E X I T (WS | LINE_CONTINUATION)+ D O;
EXIT_FOR : E X I T (WS | LINE_CONTINUATION)+ F O R;
EXIT_FUNCTION : E X I T (WS | LINE_CONTINUATION)+ F U N C T I O N;
EXIT_PROPERTY : E X I T (WS | LINE_CONTINUATION)+ P R O P E R T Y;
EXIT_SUB : E X I T (WS | LINE_CONTINUATION)+ S U B;
I never thought one could put a line continuation there
module :
endOfStatement
moduleAttributes
moduleHeader?
moduleAttributes
moduleConfig?
moduleAttributes
moduleDeclarations
moduleAttributes
moduleBody
moduleAttributes
// A module can consist of WS as well as line continuations only.
whiteSpace?
;
@Mat'sMug I was catching up until right about here. I've got 5484 outgoing commits showing in VS Team Explorer. It won't let me pull, the only thing I can do is push to Origin|Rubberduck-VBA|Upstream
I made the couple of changes for 2803 in NonReturningFunctionInspection and wanted to keep those, so I did a commit on them, and that's what it's telling me now.
I've got a general loose idea of what it's doing. Not as good as the lexer since that was much simpler but I think I'm ok to proceed. Bear with me if I don't get it all.
so StartRuleContext.module() returns a ModuleContext
module :
endOfStatement
moduleAttributes
moduleHeader?
moduleAttributes
moduleConfig?
moduleAttributes
moduleDeclarations
moduleAttributes
moduleBody
moduleAttributes
// A module can consist of WS as well as line continuations only.
whiteSpace?
;
so the module parser rule becomes a ModuleContext object
that ModuleContext object has a method for each of these referenced rules
You can create a new Dog or Cat object, but you can't create a new Animal - it doesn't make sense - it's just an abstraction of the commonalities between cats and dogs.
Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit characteristics and features from more than one parent object or parent class. It is distinct from single inheritance, where an object or class may only inherit from one particular object or class.
Multiple inheritance has been a sensitive issue for many years, with opponents pointing to its increased complexity and ambiguity in situations such as the "diamond problem", where it may be ambiguous as to which parent class a particular feature is inherited from if more than...
SmallThing becomes part of LittleBiggerThing becomes part of MediumThing becomes part of LargeThing becomes part of RD. To find out where a SmallThing is locate you use the IToken.TokenIndex?
@Comintern if we know method DoSomething has been modified, and we use the VBIDE API to get its start line S, then we can offset/prepend that string (the DoSomething member) with S empty lines, parse that, and bingo we've only parsed a single procedure and we haven't broken the token positions!!!!
is that not possible? what am I missing? I must be missing something, it can't be that simple, can it?