public ProcedureNode(VBAParser.SubStmtContext context, string scope, string localScope) : this(context, scope, localScope, VBProcedureKind.Sub, context.visibility(), context.ambiguousIdentifier(), null) { _argsListContext = context.argList(); _staticNode = context.STATIC(); _keyword = context.SUB(); }
public ProcedureNode(VBAParser.FunctionStmtContext context, string scope, string localScope) : this(context, scope, localScope, VBProcedureKind.Function, context.visibility(), context.ambiguousIdentifier(), () => context.asTypeClause()) { _argsListContext = context.argList(); _staticNode = context.STATIC(); _keyword = context.FUNCTION(); _asTypeClauseContext = context.asTypeClause(); }
public ProcedureNode(VBAParser.PropertyGetStmtContext context, string scope, string localScope) : this(context, scope, localScope, VBProcedureKind.PropertyGet, context.visibility(), context.ambiguousIdentifier(), () => context.asTypeClause()) { _argsListContext = context.argList(); _staticNode = context.STATIC(); _keyword = context.PROPERTY_GET(); _asTypeClauseContext = context.asTypeClause(); }
public override void EnterEnumerationStmt(VBAParser.EnumerationStmtContext context) { var accessibility = GetMemberAccessibility(context.visibility()); var identifier = context.ambiguousIdentifier(); if (identifier == null) { return; } var name = identifier.GetText(); var declaration = CreateDeclaration(name, null, accessibility, DeclarationType.Enumeration, context, context.ambiguousIdentifier().GetSelection()); OnNewDeclaration(declaration); _parentDeclaration = declaration; // treat members as child declarations, but keep them scoped to module }
public override void EnterEventStmt(VBAParser.EventStmtContext context) { var accessibility = GetMemberAccessibility(context.visibility()); var identifier = context.ambiguousIdentifier(); if (identifier == null) { return; } var name = identifier.GetText(); var declaration = CreateDeclaration(name, null, accessibility, DeclarationType.Event, context, context.ambiguousIdentifier().GetSelection()); OnNewDeclaration(declaration); SetCurrentScope(declaration, name); }
public override void EnterDeclareStmt(VBAParser.DeclareStmtContext context) { var accessibility = GetMemberAccessibility(context.visibility()); var nameContext = context.ambiguousIdentifier(); if (nameContext == null) { return; } var name = nameContext.GetText(); var hasReturnType = context.FUNCTION() != null; var asTypeClause = context.asTypeClause(); var asTypeName = hasReturnType ? asTypeClause == null ? Tokens.Variant : asTypeClause.type().GetText() : null; var selection = nameContext.GetSelection(); var declarationType = hasReturnType ? DeclarationType.LibraryFunction : DeclarationType.LibraryProcedure; var declaration = CreateDeclaration(name, asTypeName, accessibility, declarationType, context, selection); OnNewDeclaration(declaration); SetCurrentScope(declaration, name); // treat like a procedure block, to correctly scope parameters. }
public override void EnterPropertyGetStmt(VBAParser.PropertyGetStmtContext context) { var accessibility = GetProcedureAccessibility(context.visibility()); var identifier = context.ambiguousIdentifier(); if (identifier == null) { return; } var name = identifier.GetText(); var asTypeClause = context.asTypeClause(); var asTypeName = asTypeClause == null ? Tokens.Variant : asTypeClause.type().GetText(); var declaration = CreateDeclaration(name, asTypeName, accessibility, DeclarationType.PropertyGet, context, context.ambiguousIdentifier().GetSelection()); OnNewDeclaration(declaration); SetCurrentScope(declaration, name); }
public override void EnterEnumerationStmt(VBAParser.EnumerationStmtContext context) { var accessibility = GetMemberAccessibility(context.visibility()); var name = context.ambiguousIdentifier().GetText(); _declarations.Add(CreateDeclaration(name, null, accessibility, DeclarationType.Enumeration, context, context.ambiguousIdentifier().GetSelection())); //SetCurrentScope(name); }
public override void EnterDeclareStmt(VBAParser.DeclareStmtContext context) { var accessibility = GetMemberAccessibility(context.visibility()); var nameContext = context.ambiguousIdentifier(); var name = nameContext.GetText(); var hasReturnType = context.FUNCTION() != null; var asTypeClause = context.asTypeClause(); var asTypeName = hasReturnType ? asTypeClause == null ? Tokens.Variant : asTypeClause.type().GetText() : null; var selection = nameContext.GetSelection(); var declarationType = hasReturnType ? DeclarationType.LibraryFunction : DeclarationType.LibraryProcedure; _declarations.Add(CreateDeclaration(name, asTypeName, accessibility, declarationType, context, selection)); SetCurrentScope(name); }
public override void EnterPropertySetStmt(VBAParser.PropertySetStmtContext context) { var accessibility = GetProcedureAccessibility(context.visibility()); var name = context.ambiguousIdentifier().GetText(); _declarations.Add(CreateDeclaration(name, null, accessibility, DeclarationType.PropertySet, context, context.ambiguousIdentifier().GetSelection())); SetCurrentScope(name); }
public override void EnterFunctionStmt(VBAParser.FunctionStmtContext context) { var accessibility = GetProcedureAccessibility(context.visibility()); var name = context.ambiguousIdentifier().GetText(); var asTypeClause = context.asTypeClause(); var asTypeName = asTypeClause == null ? Tokens.Variant : asTypeClause.type().GetText(); var declaration = CreateDeclaration(name, asTypeName, accessibility, DeclarationType.Function, context, context.ambiguousIdentifier().GetSelection()); _declarations.Add(declaration); SetCurrentScope(name); }