MCPcopy Create free account
hub / github.com/antlr/codebuff / mTEXT

Method mTEXT

output/java/1.4.14/STLexer.java:498–531  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

496 }
497
498 Token mTEXT() {
499 boolean modifiedText = false;
500 StringBuilder buf = new StringBuilder();
501 while ( c != EOF && c != delimiterStartChar ) {
502 if ( c=='\r' || c=='\n' ) break;
503 if ( c=='}' && subtemplateDepth>0) break;
504 if ( c=='\\' ) {
505 if ( input.LA(2)=='\\' ) { // convert \\ to \
506 consume();
507 consume();
508 buf.append('\\');
509 modifiedText = true;
510 continue;
511 }
512
513 if ( input.LA(2)==delimiterStartChar || input.LA(2)=='}' ) {
514 modifiedText = true;
515 consume(); // toss out \ char
516 buf.append(c);
517 consume();
518 }
519 else {
520 buf.append(c);
521 consume();
522 }
523 continue;
524 }
525 buf.append(c);
526 consume();
527 }
528
529 if ( modifiedText ) return newToken(TEXT, buf.toString());
530 else return newToken(TEXT);
531 }
532
533 /** <pre>
534 * ID : ('a'..'z'|'A'..'Z'|'_'|'/')

Callers 1

outsideMethod · 0.95

Calls 4

consumeMethod · 0.95
newTokenMethod · 0.95
toStringMethod · 0.65
appendMethod · 0.45

Tested by

no test coverage detected