internal sealed override void BuildTables(MetaData md) { if (done) { return; } MemoryStream sig = new MemoryStream(); sig.WriteByte((byte)callConv); MetaData.CompressNum(numPars + numOptPars, sig); returnType.TypeSig(sig); for (int i = 0; i < numPars; i++) { parameters[i].TypeSig(sig); } sigIx = md.AddToBlobHeap(sig.ToArray()); if (numOptPars > 0) { sig.WriteByte(Sentinel); for (int i = 0; i < numOptPars; i++) { optParams[i].TypeSig(sig); } } done = true; }
internal sealed override void BuildTables(MetaData md) { if (done) { return; } MemoryStream sig = new MemoryStream(); sig.WriteByte(LocalSigByte); MetaData.CompressNum((uint)locals.Length, sig); for (int i = 0; i < locals.Length; i++) { ((Local)locals[i]).TypeSig(sig); } sigIx = md.AddToBlobHeap(sig.ToArray()); done = true; }