Skip to content

Commit f47c498

Browse files
committed
Enter scopes now paird with exits
1 parent ef87508 commit f47c498

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

server/src/project/parser/vbaSyntaxParser.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,21 @@ class VbaListener extends vbaListener {
106106
);
107107
};
108108

109+
exitEnumDeclaration = (_: EnumDeclarationContext) => {
110+
this.document.deregisterScopedElement();
111+
};
112+
109113
enterClassModule = (ctx: ClassModuleContext) => {
110114
const element = new ClassElement(ctx, this.document.textDocument);
111115
this.document.registerSymbolInformation(element)
112116
.registerDiagnosticElement(element)
113117
.registerScopedElement(element);
114118
};
115119

120+
exitClassModule = (ctx: ClassModuleContext) => {
121+
this.document.deregisterScopedElement();
122+
};
123+
116124
enterIgnoredAttr = (ctx: IgnoredAttrContext) => {
117125
const element = new IgnoredAttributeElement(ctx, this.document.textDocument);
118126
this.document.registerDiagnosticElement(element);
@@ -125,6 +133,10 @@ class VbaListener extends vbaListener {
125133
.registerScopedElement(element);
126134
};
127135

136+
exitProceduralModule = (ctx: ProceduralModuleContext) => {
137+
this.document.deregisterScopedElement();
138+
};
139+
128140
enterProcedureDeclaration = (ctx: ProcedureDeclarationContext) => {
129141
// TODO: figure out how to handle scope for properties.
130142
const element = DeclarationElement.create(ctx, this.document);
@@ -134,6 +146,10 @@ class VbaListener extends vbaListener {
134146
.registerScopedElement(element);
135147
};
136148

149+
exitProcedureDeclaration = (ctx: ProcedureDeclarationContext) => {
150+
this.document.deregisterScopedElement();
151+
};
152+
137153
enterWhileStatement = (ctx: WhileStatementContext) => {
138154
const element = new WhileLoopElement(ctx, this.document.textDocument);
139155
this.document.registerDiagnosticElement(element);

0 commit comments

Comments
 (0)