public Expr(ICFMangleContext ctx) : base(ctx) { _invCompiled = new CilFragment(); _stateVar = new Local(ctx.Method.Module.CorLibTypes.Int32); var body = ctx.Method.Body; body.Variables.Add(_stateVar); body.InitLocals = true; var nm = new IntGenerator(ctx.Mangler.Rng, ctx.Mangler.Options.MaxMangleIterations); var codec = nm.Generate(); codec.ParameterResolver = p => p == nm.Argument ? _stateVar : null; _codec = codec; var emitter = DnextFactory.NewILEmitter(ctx.Method.Module, ctx.Importer, _invCompiled); codec.EmitDemangler(emitter); }