private string DeclareExplicitVariant(VBAParser.ConstSubStmtContext context, string contextLines, out string instruction, out Selection selection) { if (context == null) { instruction = null; selection = VBEditor.Selection.Empty; return(null); } var parent = (ParserRuleContext)context.Parent; selection = parent.GetSelection(); instruction = contextLines.Substring(selection.StartColumn - 1); var constant = context.GetText(); var replacement = context.identifier().GetText() + ' ' + Tokens.As + ' ' + Tokens.Variant + ' ' + context.EQ().GetText() + ' ' + context.expression().GetText(); var insertIndex = instruction.IndexOf(constant, StringComparison.Ordinal); var result = instruction.Substring(0, insertIndex) + replacement + instruction.Substring(insertIndex + constant.Length); return(result); }
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); }