示例#1
0
        public InlineArgumentsBlock(IEmitter emitter, ArgumentsInfo argsInfo, string inline, IMethod method = null, ResolveResult targetResolveResult = null)
            : base(emitter, argsInfo.Expression)
        {
            this.Emitter       = emitter;
            this.ArgumentsInfo = argsInfo;
            this.InlineCode    = inline;

            argsInfo.AddExtensionParam();
            this.Method = method;
            this.TargetResolveResult = targetResolveResult;

            if (argsInfo.Expression != null)
            {
                var rr = emitter.Resolver.ResolveNode(argsInfo.Expression, emitter) as MemberResolveResult;

                if (rr != null)
                {
                    BridgeType bridgeType = emitter.BridgeTypes.Get(rr.Member.DeclaringType, true);

                    if (bridgeType != null)
                    {
                        bool isCustomName;
                        BridgeTypes.AddModule(null, bridgeType, out isCustomName);
                    }
                }
            }
        }