public override void ExitFunctionStmt(VBAParser.FunctionStmtContext context) { if (_currentScopeAttributes.Any()) { _attributes.Add(_currentScope, _currentScopeAttributes); } }
public override void EnterFunctionStmt(VBAParser.FunctionStmtContext context) { var accessibility = GetProcedureAccessibility(context.visibility()); var identifier = context.functionName().identifier(); if (identifier == null) { return; } var name = Identifier.GetName(identifier); var asTypeClause = context.asTypeClause(); var asTypeName = asTypeClause == null ? Tokens.Variant : asTypeClause.type().GetText(); var typeHint = Identifier.GetTypeHintValue(identifier); var isArray = asTypeClause != null && asTypeClause.type().LPAREN() != null; var declaration = CreateDeclaration( name, asTypeName, accessibility, DeclarationType.Function, context, context.functionName().identifier().GetSelection(), isArray, asTypeClause, typeHint); AddDeclaration(declaration); SetCurrentScope(declaration, name); }
private void ConvertFunction(IInspectionResult result, VBAParser.FunctionStmtContext functionContext) { var rewriter = _state.GetRewriter(result.Target); var asTypeContext = ParserRuleContextHelper.GetChild <VBAParser.AsTypeClauseContext>(functionContext); if (asTypeContext != null) { rewriter.Remove(asTypeContext); rewriter.Remove(functionContext.children.ElementAt(functionContext.children.IndexOf(asTypeContext) - 1) as ParserRuleContext); } if (result.Target.TypeHint != null) { rewriter.Remove(ParserRuleContextHelper.GetDescendent <VBAParser.TypeHintContext>(functionContext)); } rewriter.Replace(functionContext.FUNCTION(), Tokens.Sub); rewriter.Replace(functionContext.END_FUNCTION(), "End Sub"); foreach (var returnStatement in GetReturnStatements(result.Target)) { rewriter.Remove(returnStatement); } }
public override void ExitFunctionStmt(VBAParser.FunctionStmtContext context) { if (!string.IsNullOrEmpty(_currentScope.Item1) && _currentScopeAttributes.Any()) { _attributes.Add(_currentScope, _currentScopeAttributes); } }
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(); }
private void ConvertFunction(ModuleBodyElementDeclaration member, VBAParser.FunctionStmtContext functionContext, IModuleRewriter rewriter) { RemoveAsTypeDeclaration(functionContext, rewriter); RemoveTypeHint(member, functionContext, rewriter); ConvertFunctionDeclaration(functionContext, rewriter); ConvertExitFunctionStatements(functionContext, rewriter); RemoveReturnStatements(member, rewriter); }
private void ConvertFunction(IInspectionResult result, VBAParser.FunctionStmtContext functionContext, IModuleRewriter rewriter) { RemoveAsTypeDeclaration(functionContext, rewriter); RemoveTypeHint(result, functionContext, rewriter); ConvertFunctionDeclaration(functionContext, rewriter); ConvertExitFunctionStatements(functionContext, rewriter); RemoveReturnStatements(result, rewriter); }
private ProcedureNode GetNode(VBAParser.FunctionStmtContext context) { if (context == null) { return(null); } var scope = QualifiedName.ToString(); var localScope = scope + "." + context.ambiguousIdentifier().GetText(); return(new ProcedureNode(context, scope, localScope)); }
private static void ConvertExitFunctionStatements(VBAParser.FunctionStmtContext context, IModuleRewriter rewriter) { var exitStatements = context.GetDescendents <VBAParser.ExitStmtContext>(); foreach (var exitStatement in exitStatements) { if (exitStatement.EXIT_FUNCTION() != null) { rewriter.Replace(exitStatement, $"{Tokens.Exit} {Tokens.Sub}"); } } }
public static string Signature(this VBAParser.FunctionStmtContext context) { var visibility = context.visibility(); var visibilityText = visibility == null ? string.Empty : visibility.GetText(); var identifierText = context.ambiguousIdentifier().GetText(); var argsText = context.argList().GetText(); var asType = context.asTypeClause(); var asTypeText = asType == null ? string.Empty : asType.GetText(); return((visibilityText + ' ' + Tokens.Function + ' ' + identifierText + argsText + ' ' + asTypeText).Trim()); }
private string GetSignature(VBAParser.FunctionStmtContext context) { if (context == null) { return(null); } var @static = context.STATIC() == null ? string.Empty : context.STATIC().GetText() + ' '; var keyword = context.FUNCTION().GetText() + ' '; var args = context.argList() == null ? "()" : context.argList().GetText() + ' '; var asTypeClause = context.asTypeClause() == null ? string.Empty : context.asTypeClause().GetText(); var visibility = context.visibility() == null ? string.Empty : context.visibility().GetText() + ' '; return(visibility + @static + keyword + context.functionName().identifier().GetText() + args + asTypeClause); }
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); }
private static void ConvertFunctionDeclaration(VBAParser.FunctionStmtContext functionContext, IModuleRewriter rewriter) { rewriter.Replace(functionContext.FUNCTION(), Tokens.Sub); rewriter.Replace(functionContext.END_FUNCTION(), "End Sub"); }
public override void ExitFunctionStmt(VBAParser.FunctionStmtContext context) { SetCurrentScope(); }
public override void EnterFunctionStmt(VBAParser.FunctionStmtContext context) { SetCurrentScope(context.identifier().GetText(), DeclarationType.Function); }
public override void EnterFunctionStmt(VBAParser.FunctionStmtContext context) { SetCurrentScope(Identifier.GetName(context.functionName().identifier()), DeclarationType.Function); //_resolver.Resolve(context.asTypeClause()); }
public override void EnterFunctionStmt([NotNull] VBAParser.FunctionStmtContext context) { _results.Add(new CodeMetricsResult(0, 1, 0)); _currentMember = _finder.UserDeclarations(DeclarationType.Function).Where(d => d.Context == context).First(); }
public override void EnterFunctionStmt(VBAParser.FunctionStmtContext context) { _resolver.SetCurrentScope(context.ambiguousIdentifier().GetText()); }
public override void EnterFunctionStmt(VBAParser.FunctionStmtContext context) { SetCurrentScope(Identifier.GetName(context.functionName())); }
public override void ExitFunctionStmt([NotNull] VBAParser.FunctionStmtContext context) { ExitMeasurableMember(); }
//This set of overloads returns the selection for the entire procedure statement body, i.e. Public Function Foo(bar As String) As String public static Selection GetProcedureSelection(this VBAParser.FunctionStmtContext context) { return(GetProcedureContextSelection(context)); }
public override void EnterFunctionStmt(VBAParser.FunctionStmtContext context) { CheckContext(context, context.END_FUNCTION()); base.EnterFunctionStmt(context); }
public override void EnterFunctionStmt(VBAParser.FunctionStmtContext context) { _currentScopeAttributes = new Attributes(); _currentScope = Tuple.Create(Identifier.GetName(context.functionName()), DeclarationType.Function); }
public static string GetName(VBAParser.FunctionStmtContext context, out Interval tokenInterval) { var nameContext = context.functionName(); return(GetName(nameContext, out tokenInterval)); }
public override void ExitFunctionStmt([NotNull] VBAParser.FunctionStmtContext context) => ExitMeasurableMember(_finder.UserDeclarations(DeclarationType.Function).Where(d => d.Context == context).First());
public override void EnterFunctionStmt(VBAParser.FunctionStmtContext context) { _currentMember = new QualifiedMemberName(_qualifiedName, context.ambiguousIdentifier().GetText()); }