internal void AttributeReader_WriteCurrentAttributeValueTo(ITextSink sink) { if (this.state != HtmlReader.State.BeginAttributeValue) { this.AssertInAttribute(); if (this.state > HtmlReader.State.BeginAttributeValue) { throw new InvalidOperationException("Reader must be positioned before attribute value"); } if (!this.SkipToAttributeValue()) { this.state = HtmlReader.State.EndAttribute; return; } } for (;;) { this.parserToken.Attributes[this.currentAttribute].Value.WriteTo(sink); if (this.parserToken.Attributes[this.currentAttribute].IsAttrEnd) { break; } this.ParseToken(); this.currentAttribute = 0; } this.state = HtmlReader.State.EndAttribute; }
// Token: 0x06001245 RID: 4677 RVA: 0x000833E4 File Offset: 0x000815E4 protected internal void WriteEscapedOriginalTo(ref Token.Fragment fragment, ITextSink sink) { int num = fragment.Head; if (num != fragment.Tail) { int num2 = fragment.HeadOffset; do { Token.RunEntry runEntry = this.RunList[num]; if (runEntry.Type == (RunType)2147483648U || runEntry.Type == (RunType)3221225472U) { if (runEntry.Kind == 184549376U && this.Buffer[num2] == '/') { string text = "/**/"; for (int i = 0; i < text.Length; i++) { sink.Write((int)text[i]); } } else { this.EscapeAndWriteBuffer(this.Buffer, num2, runEntry.Length, sink); } } num2 += runEntry.Length; }while (++num != fragment.Tail && !sink.IsEnough); } }
protected internal void WriteTo(LexicalUnit unit, ITextSink sink) { int run = unit.head; if (run != -1) { int runOffset = unit.headOffset; RunEntry runEntry = this.runList[run]; uint kind = runEntry.MajorKind; do { if (runEntry.Type == RunType.Normal) { sink.Write(this.buffer, runOffset, runEntry.Length); } else if (runEntry.Type == RunType.Literal) { sink.Write(runEntry.Value); } runOffset += runEntry.Length; runEntry = this.runList[++run]; }while (runEntry.MajorKindPlusStartFlag == kind && !sink.IsEnough); } }
protected internal void WriteTo(ref Fragment fragment, ITextSink sink) { int run = fragment.head; if (run != fragment.tail) { int runOffset = fragment.headOffset; do { RunEntry runEntry = this.runList[run]; if (runEntry.Type == RunType.Normal) { sink.Write(this.buffer, runOffset, runEntry.Length); } else if (runEntry.Type == RunType.Literal) { sink.Write(runEntry.Value); } runOffset += runEntry.Length; }while (++run != fragment.tail && !sink.IsEnough); } }
internal void WriteMarkupTextTo(ITextSink sink) { if (this.state == HtmlReader.State.BeginTag) { this.state = HtmlReader.State.ReadTag; } else if (this.state != HtmlReader.State.SpecialTag && this.state != HtmlReader.State.ReadTag && this.state != HtmlReader.State.Text) { this.AssertInToken(); if (this.state > HtmlReader.State.BeginTag) { throw new InvalidOperationException("Cannot read tag content as markup text after accessing tag name or attributes"); } throw new InvalidOperationException("Reader must be positioned on Text, StartTag, EndTag, EmptyElementTag or SpecialTag token"); } for (;;) { this.parserToken.Text.WriteOriginalTo(sink); if (this.state == HtmlReader.State.SpecialTag) { if (this.parserToken.IsTagEnd) { break; } } else if (this.state == HtmlReader.State.ReadTag) { if (this.parserToken.IsTagEnd) { goto Block_9; } } else { HtmlTokenId htmlTokenId = this.PreviewNextToken(); if (htmlTokenId != HtmlTokenId.Text && (!this.literalTags || htmlTokenId != HtmlTokenId.Tag || this.nextParserToken.TagIndex >= HtmlTagIndex.Unknown)) { goto IL_CD; } } this.ParseToken(); } this.state = HtmlReader.State.EndSpecialTag; return; Block_9: this.state = HtmlReader.State.EndTag; return; IL_CD: this.state = HtmlReader.State.EndText; }
private int WriteTo(ITextSink sink) { int num = 0; while (this.charBufferCount != 0 || this.DecodeMore()) { sink.Write(this.charBuffer, this.charBufferOffet, this.charBufferCount); this.charBufferOffet = 0; this.charBufferCount = 0; num += this.charBufferCount; } return(num); }
private void EscapeAndWriteBuffer( char[] buffer, int offset, int length, ITextSink sink) { int lastIdx = offset; for (int idx = offset; idx < offset + length;) { char ch = buffer[idx]; if (ch == '>' || ch == '<') { if (idx - lastIdx > 0) { sink.Write(buffer, lastIdx, idx - lastIdx); } uint value = (uint)ch; char[] escapeSequenceBuffer = new char[4]; escapeSequenceBuffer[0] = '\\'; escapeSequenceBuffer[3] = ' '; for (int i = 2; i > 0; --i) { uint digit = value & 0xF; escapeSequenceBuffer[i] = (char)(digit + (digit < 10 ? '0' : 'A' - 10)); value >>= 4; } sink.Write(escapeSequenceBuffer, 0, 4); lastIdx = ++idx; } else { CssToken.AttemptUnescape(buffer, offset + length, ref ch, ref idx); ++idx; } } sink.Write(buffer, lastIdx, length - (lastIdx - offset)); }
internal void WriteTagNameTo(ITextSink sink) { if (this.state != HtmlReader.State.BeginTag) { this.AssertInTag(); throw new InvalidOperationException("Reader must be positioned at the beginning of a StartTag, EndTag or EmptyElementTag token"); } for (;;) { this.parserToken.Name.WriteTo(sink); if (this.parserToken.IsTagNameEnd) { break; } this.ParseToken(); } this.state = HtmlReader.State.EndTagName; }
protected internal void WriteOriginalTo(ref Fragment fragment, ITextSink sink) { int num = fragment.head; if (num != fragment.tail) { int num2 = fragment.headOffset; do { RunEntry runEntry = runList[num]; if (runEntry.Type == (RunType)2147483648u || runEntry.Type == (RunType)3221225472u) { sink.Write(buffer, num2, runEntry.Length); } num2 += runEntry.Length; }while (++num != fragment.tail && !sink.IsEnough); } }
internal void AttributeReader_WriteCurrentAttributeNameTo(ITextSink sink) { if (this.state != HtmlReader.State.BeginAttribute) { this.AssertInAttribute(); throw new InvalidOperationException("Reader must be positioned at the beginning of attribute."); } for (;;) { this.parserToken.Attributes[this.currentAttribute].Name.WriteTo(sink); if (this.parserToken.Attributes[this.currentAttribute].IsAttrNameEnd) { break; } this.ParseToken(); this.currentAttribute = 0; } this.state = HtmlReader.State.EndAttributeName; }
internal void WriteTextTo(ITextSink sink) { if (this.state != HtmlReader.State.Text) { this.AssertInToken(); throw new InvalidOperationException("Reader must be positioned on a Text token"); } for (;;) { this.parserToken.Text.WriteTo(sink); HtmlTokenId htmlTokenId = this.PreviewNextToken(); if (htmlTokenId != HtmlTokenId.Text && (!this.literalTags || htmlTokenId != HtmlTokenId.Tag || this.nextParserToken.TagIndex >= HtmlTagIndex.Unknown)) { break; } this.ParseToken(); } this.state = HtmlReader.State.EndText; }
// Token: 0x06001246 RID: 4678 RVA: 0x000834B8 File Offset: 0x000816B8 private void EscapeAndWriteBuffer(char[] buffer, int offset, int length, ITextSink sink) { int num = offset; int i = offset; while (i < offset + length) { char c = buffer[i]; if (c == '>' || c == '<') { if (i - num > 0) { sink.Write(buffer, num, i - num); } uint num2 = (uint)c; char[] array = new char[] { '\\', '\0', '\0', ' ' }; for (int j = 2; j > 0; j--) { uint num3 = num2 & 15U; array[j] = (char)((ulong)num3 + (ulong)((num3 < 10U) ? 48L : 55L)); num2 >>= 4; } sink.Write(array, 0, 4); i = (num = i + 1); } else { CssToken.AttemptUnescape(buffer, offset + length, ref c, ref i); i++; } } sink.Write(buffer, num, length - (num - offset)); }
protected internal void WriteTo(LexicalUnit unit, ITextSink sink) { int num = unit.head; if (num != -1) { int num2 = unit.headOffset; RunEntry runEntry = runList[num]; uint majorKind = runEntry.MajorKind; do { if (runEntry.Type == (RunType)2147483648u) { sink.Write(buffer, num2, runEntry.Length); } else if (runEntry.Type == (RunType)3221225472u) { sink.Write(runEntry.Value); } num2 += runEntry.Length; runEntry = runList[++num]; }while (runEntry.MajorKindPlusStartFlag == majorKind && !sink.IsEnough); } }
protected internal void WriteEscapedOriginalTo(ref Fragment fragment, ITextSink sink) { int run = fragment.head; if (run != fragment.tail) { int runOffset = fragment.headOffset; do { RunEntry runEntry = this.runList[run]; if (runEntry.Type == RunType.Normal || runEntry.Type == RunType.Literal) { this.EscapeAndWriteBuffer( this.buffer, runOffset, runEntry.Length, sink); } runOffset += runEntry.Length; }while (++run != fragment.tail && !sink.IsEnough); } }
public void WriteTo(ITextSink sink) { this.token.WriteTo(this.token.attributeList[this.token.currentAttribute].value, sink); }
public void WriteTo(ITextSink sink) { this.token.WriteTo(this.token.name, sink); }
public void WriteTo(ITextSink sink) { this.token.WriteTo(this.token.unstructured, sink); }
// Token: 0x0600157B RID: 5499 RVA: 0x000A618E File Offset: 0x000A438E public void WriteTo(ITextSink sink) { this.token.WriteTo(this.token.AttributeList[this.token.CurrentAttribute].Name, sink); }
// Token: 0x06001573 RID: 5491 RVA: 0x000A6090 File Offset: 0x000A4290 public void WriteTo(ITextSink sink) { this.token.WriteTo(this.token.NameInternal, sink); }
// Token: 0x060016AA RID: 5802 RVA: 0x000B21C8 File Offset: 0x000B03C8 internal void WriteValueTo(ITextSink sink) { this.reader.AttributeReader_WriteCurrentAttributeValueTo(sink); }
// Token: 0x06001282 RID: 4738 RVA: 0x000840E2 File Offset: 0x000822E2 public void WriteTo(ITextSink sink) { this.token.WriteTo(ref this.token.SelectorList[this.token.CurrentSelector].ClassName, sink); }
// Token: 0x0600193F RID: 6463 RVA: 0x000C89DE File Offset: 0x000C6BDE public void WriteTo(ITextSink sink) { sink.Write(this.token.CharBuffer, this.token.ElementOffset, this.token.ElementLength); }
// Token: 0x06001263 RID: 4707 RVA: 0x00083B20 File Offset: 0x00081D20 public void WriteOriginalTo(ITextSink sink) { this.token.WriteOriginalTo(ref this.token.PropertyList[this.token.CurrentProperty].Value, sink); }
public void WriteOriginalTo(ITextSink sink) { this.token.WriteEscapedOriginalTo(ref this.token.selectorList[this.token.currentSelector].className, sink); }
public void WriteEscapedOriginalTo(ITextSink sink) { this.token.WriteEscapedOriginalTo(ref this.token.propertyList[this.token.currentProperty].value, sink); }
public void WriteOriginalTo(ITextSink sink) { this.token.WriteOriginalTo(ref this.token.propertyList[this.token.currentProperty].name, sink); }
// Token: 0x06001256 RID: 4694 RVA: 0x000838B2 File Offset: 0x00081AB2 public void WriteTo(ITextSink sink) { this.token.WriteTo(ref this.token.PropertyList[this.token.CurrentProperty].Name, sink); }
// Token: 0x0600127A RID: 4730 RVA: 0x00083FA4 File Offset: 0x000821A4 public void WriteOriginalTo(ITextSink sink) { this.token.WriteOriginalTo(ref this.token.SelectorList[this.token.CurrentSelector].Name, sink); }
public void WriteTo(ITextSink sink) { token.WriteTo(ref token.whole, sink); }
public int WriteTo(ITextSink sink) { return(this.token.WriteTo(sink)); }