public void EmitLabel(string label) {
Contract.Requires(label != null);
if (this.atTheStartOfANewLine && this.LabelIndentation != LabelIndentationKind.PlaceLabelsInLeftmostColumn) {
int indentationLevel;
if (this.LabelIndentation == LabelIndentationKind.PlaceLabelsOneIndentationLessThanCurrentLevel)
indentationLevel = this.IndentationLevel-1;
else
indentationLevel = this.IndentationLevel;
for (int i = 0, n = indentationLevel*this.IndentSize; i < n; i++)
this.textWriter.Write(' ');
this.atTheStartOfANewLine = false;
}
this.textWriter.Write(label);
}