public ClassifiedSpanInternal(SourceSpan span, SourceSpan blockSpan, SpanKindInternal spanKind, BlockKindInternal blockKind, AcceptedCharactersInternal acceptedCharacters) { Span = span; BlockSpan = blockSpan; SpanKind = spanKind; BlockKind = blockKind; AcceptedCharacters = acceptedCharacters; }
internal void ImplicitExpressionTest(string input, string expected, AcceptedCharactersInternal acceptedCharacters, params RazorDiagnostic[] errors) { var factory = CreateSpanFactory(); ParseBlockTest(SyntaxConstants.TransitionString + input, new ExpressionBlock( factory.CodeTransition(), factory.Code(expected) .AsImplicitExpression(KeywordSet) .Accepts(acceptedCharacters)), errors); }
public static void RunSingleAtEscapeTest(Action <string, Block> testMethod, AcceptedCharactersInternal lastSpanAcceptedCharacters = AcceptedCharactersInternal.None) { var factory = new SpanFactory(); testMethod("<foo>@@bar</foo>", new MarkupBlock( new MarkupTagBlock( factory.Markup("<foo>").Accepts(lastSpanAcceptedCharacters)), factory.Markup("@").Hidden(), factory.Markup("@bar"), new MarkupTagBlock( factory.Markup("</foo>").Accepts(lastSpanAcceptedCharacters)))); }
public Block EscapedMarkupTagBlock( string prefix, string suffix, AcceptedCharactersInternal acceptedCharacters, params SyntaxTreeNode[] children) { var newChildren = new List <SyntaxTreeNode>( new SyntaxTreeNode[] { _factory.Markup(prefix), _factory.BangEscape(), _factory.Markup(suffix).Accepts(acceptedCharacters) }); newChildren.AddRange(children); return(new MarkupTagBlock(newChildren.ToArray())); }
public static void RunMultiAtEscapeTest(Action <string, Block> testMethod, AcceptedCharactersInternal lastSpanAcceptedCharacters = AcceptedCharactersInternal.None) { var factory = new SpanFactory(); testMethod("<foo>@@@@@bar</foo>", new MarkupBlock( new MarkupTagBlock( factory.Markup("<foo>").Accepts(lastSpanAcceptedCharacters)), factory.Markup("@").Hidden(), factory.Markup("@"), factory.Markup("@").Hidden(), factory.Markup("@"), new ExpressionBlock( factory.CodeTransition(), factory.Code("bar") .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) .Accepts(AcceptedCharactersInternal.NonWhiteSpace)), new MarkupTagBlock( factory.Markup("</foo>").Accepts(lastSpanAcceptedCharacters)))); }
public static SpanConstructor Accepts(this SpanConstructor self, AcceptedCharactersInternal accepted) { return(self.With(eh => eh.AcceptedCharacters = accepted)); }
internal override void SingleSpanBlockTest(string document, BlockKindInternal blockKind, SpanKindInternal spanType, AcceptedCharactersInternal acceptedCharacters, params RazorDiagnostic[] expectedError) { SingleSpanBlockTest(document, document, blockKind, spanType, acceptedCharacters, expectedError); }
internal override void SingleSpanBlockTest(string document, string spanContent, BlockKindInternal blockKind, SpanKindInternal spanType, AcceptedCharactersInternal acceptedCharacters, params RazorDiagnostic[] expectedErrors) { var b = CreateSimpleBlockAndSpan(spanContent, blockKind, spanType, acceptedCharacters); ParseBlockTest(document, b, expectedErrors ?? new RazorDiagnostic[0]); }
internal void ImplicitExpressionTest(string input, AcceptedCharactersInternal acceptedCharacters, params RazorDiagnostic[] errors) { ImplicitExpressionTest(input, input, acceptedCharacters, errors); }
internal override void SingleSpanBlockTest(string document, string spanContent, BlockKindInternal blockKind, SpanKindInternal spanType, AcceptedCharactersInternal acceptedCharacters = AcceptedCharactersInternal.Any) { SingleSpanBlockTest(document, spanContent, blockKind, spanType, acceptedCharacters, expectedErrors: null); }
internal void ImplicitExpressionTest(string input, string expected, AcceptedCharactersInternal acceptedCharacters, params RazorDiagnostic[] errors) { ParseBlockTest(SyntaxConstants.TransitionString + input); }
public AutoCompleteEditHandler(Func <string, IEnumerable <ISymbol> > tokenizer, AcceptedCharactersInternal accepted) : base(tokenizer, accepted) { }
protected internal void Output(AcceptedCharactersInternal accepts, SyntaxKind syntaxKind = SyntaxKind.Unknown) { Configure(null, accepts); Output(syntaxKind); }
internal virtual void SingleSpanBlockTest(string document, BlockKindInternal blockKind, SpanKindInternal spanType, AcceptedCharactersInternal acceptedCharacters = AcceptedCharactersInternal.Any) { SingleSpanBlockTest(document, blockKind, spanType, acceptedCharacters, expectedError: null); }
public AutoCompleteEditHandler(Func <string, IEnumerable <Syntax.InternalSyntax.SyntaxToken> > tokenizer, AcceptedCharactersInternal accepted) : base(tokenizer, accepted) { }
public SpanEditHandler(Func <string, IEnumerable <ISymbol> > tokenizer, AcceptedCharactersInternal accepted) { AcceptedCharacters = accepted; Tokenizer = tokenizer; }
internal virtual Block CreateSimpleBlockAndSpan(string spanContent, BlockKindInternal blockKind, SpanKindInternal spanType, AcceptedCharactersInternal acceptedCharacters = AcceptedCharactersInternal.Any) { var span = Factory.Span(spanType, spanContent, spanType == SpanKindInternal.Markup).Accepts(acceptedCharacters); var b = new BlockBuilder() { Type = blockKind }; return(ConfigureAndAddSpanToBlock(b, span)); }
internal virtual void SingleSpanBlockTest(string document, string spanContent, BlockKindInternal blockKind, SpanKindInternal spanType, AcceptedCharactersInternal acceptedCharacters, params RazorError[] expectedErrors) { var result = ParseBlock(document, designTime: false); var builder = new BlockBuilder(); builder.Type = blockKind; var expected = ConfigureAndAddSpanToBlock(builder, Factory.Span(spanType, spanContent, spanType == SpanKindInternal.Markup).Accepts(acceptedCharacters)); if (FixupSpans) { SpancestryCorrector.Correct(expected); var span = expected.FindFirstDescendentSpan(); span.ChangeStart(SourceLocation.Zero); } SyntaxTreeVerifier.Verify(result); SyntaxTreeVerifier.Verify(expected); if (!ReferenceEquals(expected, IgnoreOutput)) { EvaluateResults(result, expected, expectedErrors?.Select(error => RazorDiagnostic.Create(error)).ToList()); } }
internal virtual void SingleSpanBlockTest(string document, BlockKindInternal blockKind, SpanKindInternal spanType, AcceptedCharactersInternal acceptedCharacters, params RazorError[] expectedError) { SingleSpanBlockTest(document, document, blockKind, spanType, acceptedCharacters, expectedError); }
protected internal void Output(SpanKindInternal kind, AcceptedCharactersInternal accepts, SyntaxKind syntaxKind = SyntaxKind.Unknown) { Configure(kind, accepts); Output(syntaxKind); }
protected internal void Output(SpanKindInternal kind, AcceptedCharactersInternal accepts) { Configure(kind, accepts); Output(); }
private void RunRazorCommentBetweenClausesTest(string preComment, string postComment, AcceptedCharactersInternal acceptedCharacters = AcceptedCharactersInternal.Any) { ParseDocumentTest(preComment + "@* Foo *@ @* Bar *@" + postComment); }
protected internal void Output(AcceptedCharactersInternal accepts) { Configure(null, accepts); Output(); }
public Block MarkupTagBlock(string content, AcceptedCharactersInternal acceptedCharacters) { return(new MarkupTagBlock( _factory.Markup(content).Accepts(acceptedCharacters) )); }
public SpanEditHandler(Func <string, IEnumerable <Syntax.InternalSyntax.SyntaxToken> > tokenizer, AcceptedCharactersInternal accepted) { AcceptedCharacters = accepted; Tokenizer = tokenizer; }