/// <summary> /// Gets the <c>Accessibility</c> for a procedure member. /// </summary> private Accessibility GetProcedureAccessibility(VBAParser.VisibilityContext visibilityContext) { var visibility = visibilityContext == null ? "Implicit" // "Public" : visibilityContext.GetText(); return (Accessibility)Enum.Parse(typeof(Accessibility), visibility); }
private string DeclareExplicitVariant(VBAParser.ArgContext context, out string instruction) { if (context == null) { instruction = null; return null; } instruction = context.GetText(); return instruction + ' ' + Tokens.As + ' ' + Tokens.Variant; }
private string DeclareExplicitVariant(VBAParser.ConstSubStmtContext context, out string instruction) { if (context == null) { instruction = null; return null; } var parent = (VBAParser.ConstStmtContext) context.Parent; instruction = parent.GetText(); var constant = context.GetText(); var replacement = context.ambiguousIdentifier().GetText() + ' ' + Tokens.As + ' ' + Tokens.Variant + ' ' + context.EQ().GetText() + ' ' + context.valueStmt().GetText(); var result = instruction.Replace(constant, replacement); return result; }
private ProcedureNode(ParserRuleContext context, string scope, string localScope, VBProcedureKind kind, VBAParser.VisibilityContext visibility, VBAParser.AmbiguousIdentifierContext name, Func<VBAParser.AsTypeClauseContext> asType) : base(context, scope, localScope) { _kind = kind; _name = name.GetText(); _accessibility = visibility.GetAccessibility(); _visibilityContext = visibility; if (asType != null) { var returnTypeClause = asType(); _isImplicitReturnType = returnTypeClause == null; _returnType = returnTypeClause == null ? Tokens.Variant : returnTypeClause.type().GetText(); } }
public override void EnterAmbiguousIdentifier(VBAParser.AmbiguousIdentifierContext context) { DeclarationType type; if (!ScopingContextTypes.TryGetValue(context.Parent.GetType(), out type)) { return; } _currentScope = Tuple.Create(context.GetText(), type); }
public override void ExitOptionPrivateModuleStmt(VBAParser.OptionPrivateModuleStmtContext context) { OnNewDeclaration(CreateDeclaration(context.GetText(), string.Empty, Accessibility.Implicit, DeclarationType.ModuleOption, context, context.GetSelection())); }
/// <summary> /// Gets the <c>Accessibility</c> for a non-procedure member. /// </summary> private Accessibility GetMemberAccessibility(VBAParser.VisibilityContext visibilityContext) { var visibility = visibilityContext == null ? "Implicit" // "Private" : visibilityContext.GetText(); return (Accessibility)Enum.Parse(typeof(Accessibility), visibility, true); }
public override void EnterOptionExplicitStmt(VBAParser.OptionExplicitStmtContext context) { _declarations.Add(CreateDeclaration(context.GetText(), string.Empty, Accessibility.Implicit, DeclarationType.ModuleOption, context, context.GetSelection())); }