コード例 #1
0
        public CppEmitBuffer Pop()
        {
            var ret = Buf;

            Buf = _stack[_stack.Count - 1];
            _stack.RemoveAt(_stack.Count - 1);
            return(ret);
        }
コード例 #2
0
        public void Push()
        {
            var oldBuf = Buf;

            _stack.Add(Buf);
            Buf             = new CppEmitBuffer();
            Buf.EmitContext = this;
            Buf.IndentLevel = oldBuf.IndentLevel;
        }
コード例 #3
0
        public void Stash(string id)
        {
            var oldBuf = Buf;

            _stash[id]      = Buf;
            Buf             = new CppEmitBuffer();
            Buf.EmitContext = this;
            Buf.IndentLevel = oldBuf.IndentLevel;
        }
コード例 #4
0
		public CppEmitBuffer Pop()
		{
			var ret = Buf;
			Buf = _stack[_stack.Count - 1];
			_stack.RemoveAt(_stack.Count - 1);
			return ret;
		}
コード例 #5
0
		public void Push()
		{
			var oldBuf = Buf;
			_stack.Add (Buf);
			Buf = new CppEmitBuffer();
			Buf.EmitContext = this;
			Buf.IndentLevel = oldBuf.IndentLevel; 
		}
コード例 #6
0
		public CppEmitContext(ModuleContainer module)
		{
			Module = module;
			Buf = new CppEmitBuffer();
			Buf.EmitContext = this;
		}
コード例 #7
0
		public void Restore(string id)
		{
			Buf = _stash[id];
		}
コード例 #8
0
		public void Stash(string id)
		{
			var oldBuf = Buf;
			_stash[id] = Buf;
			Buf = new CppEmitBuffer();
			Buf.EmitContext = this;
			Buf.IndentLevel = oldBuf.IndentLevel; 
		}
コード例 #9
0
 public CppEmitContext(ModuleContainer module)
 {
     Module          = module;
     Buf             = new CppEmitBuffer();
     Buf.EmitContext = this;
 }
コード例 #10
0
 public void Restore(string id)
 {
     Buf = _stash[id];
 }