public override ParameterInfo[] GetParameters() { if (!m_methodBuilder.m_bIsBaked) { throw new NotSupportedException(Environment.GetResourceString("InvalidOperation_TypeNotCreated")); } Type rti = m_methodBuilder.GetTypeBuilder().m_runtimeType; ConstructorInfo rci = rti.GetConstructor(m_methodBuilder.m_parameterTypes); return(rci.GetParameters()); }
internal ILGenerator(MethodInfo methodBuilder, int size) { if (size < 0x10) { this.m_ILStream = new byte[0x10]; } else { this.m_ILStream = new byte[size]; } this.m_length = 0; this.m_labelCount = 0; this.m_fixupCount = 0; this.m_labelList = null; this.m_fixupData = null; this.m_exceptions = null; this.m_exceptionCount = 0; this.m_currExcStack = null; this.m_currExcStackCount = 0; this.m_RelocFixupList = new int[0x40]; this.m_RelocFixupCount = 0; this.m_RVAFixupList = new int[0x40]; this.m_RVAFixupCount = 0; this.m_ScopeTree = new ScopeTree(); this.m_LineNumberInfo = new LineNumberInfo(); this.m_methodBuilder = methodBuilder; this.m_localCount = 0; MethodBuilder builder = this.m_methodBuilder as MethodBuilder; if (builder == null) { this.m_localSignature = SignatureHelper.GetLocalVarSigHelper(null); } else { this.m_localSignature = SignatureHelper.GetLocalVarSigHelper(builder.GetTypeBuilder().Module); } }
// ctor for generic method parameter internal TypeBuilder(string szName, int genParamPos, MethodBuilder declMeth) { Contract.Requires(declMeth != null); m_declMeth = declMeth; m_DeclaringType =m_declMeth.GetTypeBuilder(); m_module =declMeth.GetModuleBuilder(); InitAsGenericParam(szName, genParamPos); }
private TypeBuilder GetTypeBuilder() { return(m_methodBuilder.GetTypeBuilder()); }
internal ILGenerator(MethodBuilder methodBuilder, int size) { if (size < defaultSize) { m_ILStream = new byte[defaultSize]; } else { m_ILStream = new byte[size]; } m_length=0; m_labelCount=0; m_fixupCount=0; m_labelList = null; m_fixupData = null; m_exceptions = null; m_exceptionCount=0; m_currExcStack = null; m_currExcStackCount=0; m_RelocFixupList = new int[DefaultFixupArraySize]; m_RelocFixupCount=0; m_RVAFixupList = new int[DefaultFixupArraySize]; m_RVAFixupCount=0; // initialize the scope tree m_ScopeTree = new ScopeTree(); m_LineNumberInfo = new LineNumberInfo(); m_methodBuilder = methodBuilder; // initialize local signature m_localCount=0; m_localSignature = SignatureHelper.GetLocalVarSigHelper(m_methodBuilder.GetTypeBuilder().Module); }