public static void Init() { DynamicMethodWrapper.Init(); DynamicILGenerator.Init(); DynamicILInfoWrapper.Init(); DynamicScope.Init(); DynamicResolver.Init(); }
public MethodBodyOnDynamicILGenerator(DynamicMethod dynamicMethod, ILGenerator ilGenerator, bool resolveTokens) : base(GetMethodSignature(ilGenerator), resolveTokens) { scope = new DynamicILGenerator(ilGenerator).m_scope; using (var dynamicResolver = new DynamicResolver(dynamicMethod, ilGenerator)) { int stackSize; int initLocals; int EHCount; var code = dynamicResolver.GetCodeInfo(out stackSize, out initLocals, out EHCount); MaxStack = stackSize; InitLocals = initLocals != 0; SetLocalSignature(dynamicResolver.m_localSignature); ILCodeReader.Read(code, ResolveToken, resolveTokens, this); ReadExceptions(dynamicResolver, EHCount); } }
private static byte[] GetMethodSignature(ILGenerator ilGenerator) { var wrapper = new DynamicILGenerator(ilGenerator); return((byte[])wrapper.m_scope[wrapper.m_methodSigToken]); }