public IndentStack(TypeScriptIndentEngine engine, int capacity) { this.engine = engine; if (capacity < InitialCapacity) capacity = InitialCapacity; this.stack = new Node [capacity]; this.count = 0; }
// Clone the TypeScriptIndentEngine - useful if a consumer of this class wants // to test things w/o changing the real indent engine state public object Clone() { var engine = new TypeScriptIndentEngine (policy, textPolicy); engine.stack = (IndentStack) stack.Clone (); engine.linebuf = new StringBuilder (linebuf.ToString (), linebuf.Capacity); engine.keyword = keyword; engine.currIndent = currIndent; engine.needsReindent = needsReindent; engine.popVerbatim = popVerbatim; engine.canBeLabel = canBeLabel; engine.isEscaped = isEscaped; engine.firstNonLwsp = firstNonLwsp; engine.lastNonLwsp = lastNonLwsp; engine.wordStart = wordStart; engine.prc = prc; engine.pc = pc; engine.rc = rc; engine.currLineNumber = currLineNumber; engine.cursor = cursor; return engine; }
public IndentStack(TypeScriptIndentEngine engine) : this(engine, InitialCapacity) { }