コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }