void read(Tokeniser t, CharacterReader r) {
   char c = r.consume();
   switch (c) {
     case '-':
       t.commentPending.data.append("--!");
       t.transition(CommentEndDash);
       break;
     case '>':
       t.emitCommentPending();
       t.transition(Data);
       break;
     case nullChar:
       t.error(this);
       t.commentPending.data.append("--!").append(replacementChar);
       t.transition(Comment);
       break;
     case eof:
       t.eofError(this);
       t.emitCommentPending();
       t.transition(Data);
       break;
     default:
       t.commentPending.data.append("--!").append(c);
       t.transition(Comment);
   }
 }
Пример #2
0
 void read(Tokeniser t, CharacterReader r) {
   char c = r.current();
   switch (c) {
     case '-':
       t.advanceTransition(CommentEndDash);
       break;
     case nullChar:
       t.error(this);
       t.commentPending.data.append(replacementChar);
       break;
     case eof:
       t.eofError(this);
       t.emitCommentPending();
       t.transition(Data);
       break;
     default:
       t.commentPending.data.append(r.consumeToAny('-', nullChar));
   }
 }