UNPKG

@vlocode/apex

Version:
33 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CompilationUnitVisitor = void 0; const syntaxTreeVisitor_1 = require("./syntaxTreeVisitor"); const classDeclarationVisitor_1 = require("./classDeclarationVisitor"); const types_1 = require("../types"); class CompilationUnitVisitor extends syntaxTreeVisitor_1.ApexSyntaxTreeVisitor { constructor(state) { super(state ?? { classes: [], interfaces: [] }); } visitTypeDeclaration(ctx) { if (ctx.classDeclaration()) { const classInfo = new classDeclarationVisitor_1.ClassDeclarationVisitor().visit(ctx); if (classInfo) { classInfo.sourceRange = types_1.ApexSourceRange.fromToken(ctx); this.addClass(classInfo); } } return this.state; } addClass(classInfo) { this.state.classes.push(classInfo); // add nested classes to the top level if (classInfo.nested.length) { this.state.classes.push(...classInfo.nested.map(nested => ({ ...nested, name: `${classInfo.name}.${nested.name}` }))); } } } exports.CompilationUnitVisitor = CompilationUnitVisitor; //# sourceMappingURL=compilationUnitVisitor.js.map