コード例 #1
0
		internal override void Dump(IndentedStreamWriter wtr)
		{
			wtr.Indent--;
			//wtr.WriteLine("{0}: ({1} References)", this, References);
			wtr.WriteLine("{0}:", this);
			wtr.Indent++;
		}
コード例 #2
0
ファイル: LIRMethod.cs プロジェクト: carriercomm/Proton-1
		public void Dump(IndentedStreamWriter pWriter)
		{
			pWriter.Write("LIRMethod ~{0}:{1}(", mTempID, Name);
			for (int index = 0; index < mParameters.Count; ++index)
			{
				mParameters[index].Dump(pWriter);
				if (index != mParameters.Count - 1)
					pWriter.Write(", ");
			}
			pWriter.Write(")");
			if (ReturnType != null)
				pWriter.Write(" : {0}", ReturnType);
			pWriter.WriteLine();
			pWriter.WriteLine("{");
			pWriter.Indent++;

			if (mLocals.Count > 0)
			{
				pWriter.WriteLine("{");
				pWriter.Indent++;
				mLocals.ForEach(l => l.Dump(pWriter));
				pWriter.Indent--;
				pWriter.WriteLine("}");
			}

			mInstructions.ForEach(i => i.Dump(pWriter));
			
			pWriter.Indent--;
			pWriter.WriteLine("}");
		}
コード例 #3
0
		internal abstract void Dump(IndentedStreamWriter wtr);
コード例 #4
0
ファイル: LIRLocal.cs プロジェクト: carriercomm/Proton-1
		public void Dump(IndentedStreamWriter wtr)
		{
			wtr.WriteLine("Local {0} {1}{2}", this, Type, (this.Dynamic ? " Dynamic" : ""));
		}
コード例 #5
0
ファイル: LIRParameter.cs プロジェクト: carriercomm/Proton-1
		public void Dump(IndentedStreamWriter pWriter)
		{
			pWriter.Write(Type.ToString());
		}
コード例 #6
0
		private void Dump(IndentedStreamWriter wtr)
		{
			wtr.WriteLine("LIRCompileUnit {0}", mMethods.Count + mData.Count);
			wtr.WriteLine("{");
			wtr.Indent++;
			wtr.WriteLine("Data {0}", mData.Count);
			wtr.WriteLine("{");
			wtr.Indent++;
			foreach (var d in mData)
			{
				wtr.WriteLine("{0} -> {1}", d.Key, d.Value);
			}
			wtr.Indent--;
			wtr.WriteLine("}");
			wtr.WriteLine("Methods {0}", mMethods.Count);
			wtr.WriteLine("{");
			wtr.Indent++;
			foreach (var m in Methods)
			{
				m.Dump(wtr);
			}
			wtr.Indent--;
			wtr.WriteLine("}");
			wtr.Indent--;
			wtr.WriteLine("}");
		}