PERWAPI.MethodDef.BuildTables C# (CSharp) Method

BuildTables() final private method

final private BuildTables ( MetaDataOut md ) : void
md MetaDataOut
return void
        internal override sealed void BuildTables(MetaDataOut md)
        {
            md.AddToTable(MDTable.Method,this);
            nameIx = md.AddToStringsHeap(name);
            if (genericParams != null) {
                for (int i=0; i < genericParams.Count; i++) {
                    ((GenericParam)genericParams[i]).BuildMDTables(md);
                }
            }
            if (security != null) {
                for (int i=0; i < security.Count; i++) {
                    ((DeclSecurity)security[i]).BuildMDTables(md);
                }
            }
            if (pinvokeImpl != null) pinvokeImpl.BuildMDTables(md);
            if (entryPoint) md.SetEntryPoint(this);
            if (locals != null) {
                localSig = new LocalSig(locals);
                localSig.BuildMDTables(md);
            }
            try {
                if (code != null) {
                    if (code.IsEmpty()) {
                        code = null;
                    } else {
                        code.BuildTables(md);
                    }
                }
            } catch (InstructionException ex) {
                throw new Exception(ex.AddMethodName(name));
            }
            parIx = md.TableIndex(MDTable.Param);
            for (int i=0; i < sig.numPars; i++) {
                parList[i].seqNo = (ushort)(i+1);
                parList[i].BuildMDTables(md);
            }
            sig.BuildTables(md);
        }