62 public void SequencePoint(DocumentHandle document,
int offset,
int startLine,
int startColumn,
int endLine,
int endColumn,
ref DocumentHandle previousDocument)
65 throw new InvalidOperationException(
"Local signature not already encoded.");
67 throw new ArgumentException(
"Subsequent sequence points must appear at an offset greater than the previous sequence point.");
70 if (document.IsNil ==
false && document != previousDocument)
74 writer.WriteCompressedInteger(0);
76 writer.WriteCompressedInteger(MetadataTokens.GetRowNumber(document));
77 previousDocument = document;
82 writer.WriteCompressedInteger(offset);
87 if (startLine ==
System.Reflection.Metadata.SequencePoint.HiddenLine)
89 writer.WriteCompressedInteger(0);
90 writer.WriteCompressedInteger(0);
94 var deltaLines = endLine - startLine;
95 var deltaColumns = endColumn - startColumn;
96 Debug.Assert(startLine ==
System.Reflection.Metadata.SequencePoint.HiddenLine || deltaLines > 0 || deltaColumns > 0);
99 writer.WriteCompressedInteger(deltaLines);
101 writer.WriteCompressedInteger(deltaColumns);
103 writer.WriteCompressedSignedInteger(deltaColumns);
109 writer.WriteCompressedInteger(startLine);
110 writer.WriteCompressedInteger(startColumn);