Current status: getting to the ModuleState and ParserState classes now. Not sure what will be left of RubberduckParserState when I'm done, but here it goes!
ModuleParser was modified to drop the CodePane pass; we don't need to deal with the VBE code panes anymore.
There's some level of overlap between ModuleState and the SyncPanelViewModel, but not enough for one to replace the other: the parse runner will keep updating module states, but then the module state manager is going to fire an event to update the ViewModel.
Ok, the LogicalLineStore isn't set yet, but ModuleState is otherwise ready to send declarations, annotations, attributes, and identifier references into the database. Actually I'll move the Save method into the state manager, so we can persist everything in a single transaction.
Next step is the declaration resolver, wish me luck!
@this Glad to see my port into VBA be put to something actually useful! I'm actually wondering - I too have been converting it into twinBasic, I've got the standard accessor working however not the method using the extended type info. Have you got invoking private methods working? It works in VBA but translating to tB has broken something. Also do you use the ITypeInfo to discover test methods or the VBComponents API?