//------------------------------------------------------------ // XDataに実体を書き込む。 public void XDataWriteEntity(XDataWriter aWriter) { // フルパスのメモ string fullPath = mFunctionSymbolNode.GetUniqueFullPath(); // 実体 aWriter.WriteCommentLine("BCFunction(" + fullPath + ")"); using (new XDataWriter.IndentScope(aWriter)) { // アライメントとラベル aWriter.WriteAlignLine(4); aWriter.WriteLabelLine(XDATA_LABEL + ":" + fullPath); // シンボル名 aWriter.WriteStringLine("name", mFunctionSymbolNode.GetIdentifier().String()); // 命令コード aWriter.WriteReferenceLine(XDATA_LABEL_OP_CODE + ":" + fullPath); } // その他 {// 命令コード aWriter.WriteCommentLine("BCOpCode(" + fullPath + ")-" + mBCOpCodeList.Count * 4 + "bytes"); using (new XDataWriter.IndentScope(aWriter)) { // アライメントとラベル aWriter.WriteAlignLine(4); aWriter.WriteLabelLine(XDATA_LABEL_OP_CODE + ":" + fullPath); uint index = 0; foreach (var entry in mBCOpCodeList) { entry.XDataWrite(aWriter, index); ++index; } } } }
//------------------------------------------------------------ // XDataにリファレンスタグを書き込む。 public void XDataWriteReference(XDataWriter aWriter) { aWriter.WriteReferenceLine("objectTypeList", XDATA_LABEL); }
//------------------------------------------------------------ // XDataにリファレンスタグを書き込む。 public void XDataWriteReference(XDataWriter aWriter) { aWriter.WriteReferenceLine("Function", XDATA_LABEL + ":" + SymbolNodeUtil.FullPath(mFunctionSymbolNode)); }
//------------------------------------------------------------ // XDataにリファレンスタグを書き込む。 public void XDataWriteReference(XDataWriter aWriter, string aOwnerPath) { aWriter.WriteReferenceLine("FunctionList", XDATA_LABEL + ":" + aOwnerPath); }
//------------------------------------------------------------ // XDataにリファレンスタグを書き込む。 public void XDataWriteReference(XDataWriter aWriter) { aWriter.WriteReferenceLine("symbolTable", XDATA_LABEL); }
//------------------------------------------------------------ // XDataにリファレンスタグを書き込む。 public void XDataWriteReference(XDataWriter aWriter) { aWriter.WriteReferenceLine("constantTable", XDATA_LABEL); }
//------------------------------------------------------------ // XDataにリファレンスタグを書き込む。 public void XDataWriteReference(XDataWriter aWriter) { aWriter.WriteReferenceLine(XDATA_LABEL + ":" + SymbolNodeUtil.FullPath(mTypeSymbolNode)); }