Example #1
0
        public AssignOperand(ITypeLambda typeLambda, ILGenerator ilGenerator, Operand left, Operand right)
            : base(typeLambda, ilGenerator)
        {
            this.typeLambda = typeLambda;

            this.left  = left;
            this.right = right;
        }
Example #2
0
        public AssignValueOperand(ITypeLambda typeLambda, ILGenerator ilGenerator, Operand left, object right)
            : base(typeLambda, ilGenerator)
        {
            this.typeLambda = typeLambda;

            this.left  = left;
            this.right = right;
        }
Example #3
0
 static DynamicObject()
 {
     assembly = new AssemblyLambda();
     {
         module = assembly.Assembly();
         {
             type = module.Module(Guid.NewGuid().ToString("N"));
         }
     }
 }
Example #4
0
        //public ICodeLambda New()
        //{
        //    return this.New(Operand.Empty);
        //}

        public ICodeLambda New(ITypeLambda typeLambda)
        {
            if (typeLambda.TypeAccessor.IsStatic)
            {
                throw new DynamicProxyException(ExceptionRS.정적_타입의_ITypeLambda는_개체를_생성할_수_없습니다);
            }
            else
            {
                // 파라메터를 스택에 로드
                //foreach (var parameter in constructorParameterOperand)
                //{
                //    parameter.ReadEmit(this);
                //}

                this.IL.Emit(OpCodes.Newobj, this.TypeLambda.TypeBuilder.DeclaringType);
            }

            return(this);
        }
Example #5
0
 public TypeAccessor(ITypeLambda typeLambda)
 {
     this.typeLambda = typeLambda;
 }
Example #6
0
 public TypeUnitLambda(IModuleLambda moduleLambda, ITypeLambda parentTypeLambda)
     : base(moduleLambda)
 {
     this.ParentTypeLambda = parentTypeLambda;
 }
Example #7
0
 public CodeLambda(ITypeLambda typeLambda, ILGenerator ilGenreator)
 {
     this.TypeLambda = typeLambda;
     this.IL         = ilGenreator;
 }
Example #8
0
 public PropertyLambda(ITypeLambda typeLambda, PropertyBuilder propertyBuilder)
 {
     this.TypeLambda = typeLambda;
     this.propertyBuilder = propertyBuilder;
 }
Example #9
0
 public AccessorInvocation(ITypeLambda typeLambda, params IAccessorLambda[] accessors)
     : this(typeLambda, accessors.AsEnumerable())
 {
 }
Example #10
0
 public Operand(ITypeLambda typeLambda, ILGenerator ilGenreator)
     : base(typeLambda, ilGenreator)
 {
 }
Example #11
0
 public CodeLambda(ITypeLambda typeLambda, ILGenerator ilGenreator)
 {
     this.TypeLambda = typeLambda;
     this.IL = ilGenreator;
 }
Example #12
0
 public TypeAccessor(ITypeLambda typeLambda)
 {
     this.typeLambda = typeLambda;
 }
Example #13
0
		public AccessorInvocation(ITypeLambda typeLambda, IEnumerable<IAccessorLambda> accessors)
		{
			this.typeLambda = typeLambda;
			this.accessors = accessors;
		}
Example #14
0
		public AccessorInvocation(ITypeLambda typeLambda, params IAccessorLambda[] accessors)
			: this(typeLambda, accessors.AsEnumerable())
		{
		}
Example #15
0
 public FieldAccessor(ITypeLambda typeLambda)
 {
     this.typeLambda = typeLambda;
 }
Example #16
0
 public FieldAccessor(ITypeLambda typeLambda)
 {
     this.typeLambda = typeLambda;
 }
Example #17
0
 public MethodOperand(ITypeLambda typeLambda, ILGenerator ilGenerator, MethodInfo methodInfo)
     : base(typeLambda, ilGenerator)
 {
     this.typeLambda = typeLambda;
     this.methodInfo = methodInfo;
 }
Example #18
0
 public PropertyLambda(ITypeLambda typeLambda, PropertyBuilder propertyBuilder)
 {
     this.TypeLambda      = typeLambda;
     this.propertyBuilder = propertyBuilder;
 }
Example #19
0
 public MethodOperand(ITypeLambda typeLambda, ILGenerator ilGenerator, MethodInfo methodInfo, params Operand[] parameterOperands)
     : this(typeLambda, ilGenerator, methodInfo)
 {
     this.parameterOperands = parameterOperands;
 }
Example #20
0
 public MethodAccessor(ITypeLambda typeLambda)
 {
     this.typeLambda = typeLambda;
 }
Example #21
0
        //public ICodeLambda New()
        //{
        //    return this.New(Operand.Empty);
        //}
        public ICodeLambda New(ITypeLambda typeLambda)
        {
            if (typeLambda.TypeAccessor.IsStatic)
            {
                throw new DynamicProxyException(ExceptionRS.정적_타입의_ITypeLambda는_개체를_생성할_수_없습니다);
            }
            else
            {
                // 파라메터를 스택에 로드
                //foreach (var parameter in constructorParameterOperand)
                //{
                //    parameter.ReadEmit(this);
                //}

                this.IL.Emit(OpCodes.Newobj, this.TypeLambda.TypeBuilder.DeclaringType);
            }

            return this;
        }
Example #22
0
 public MethodAccessor(ITypeLambda typeLambda)
 {
     this.typeLambda = typeLambda;
 }
Example #23
0
 public FieldOperand(ITypeLambda typeLambda, ILGenerator ilGenerator, ICriteriaMetadataInfo criteriaMetadataInfo)
     : base(typeLambda, ilGenerator)
 {
     this.typeLambda           = typeLambda;
     this.criteriaMetadataInfo = criteriaMetadataInfo;
 }
Example #24
0
 public MethodOperand(ITypeLambda typeLambda, ILGenerator ilGenerator, MethodInfo methodInfo, params Operand[] parameterOperands)
     : this(typeLambda, ilGenerator, methodInfo)
 {
     this.parameterOperands = parameterOperands;
 }
Example #25
0
 public AccessorInvocation(ITypeLambda typeLambda, IEnumerable <IAccessorLambda> accessors)
 {
     this.typeLambda = typeLambda;
     this.accessors  = accessors;
 }
Example #26
0
 public Operand(ITypeLambda typeLambda, ILGenerator ilGenreator)
     : base(typeLambda, ilGenreator)
 {
 }
Example #27
0
 public MethodOperand(ITypeLambda typeLambda, ILGenerator ilGenerator, MethodInfo methodInfo)
     : base(typeLambda, ilGenerator)
 {
     this.typeLambda = typeLambda;
     this.methodInfo = methodInfo;
 }
Example #28
0
 public TypeUnitLambda(IModuleLambda moduleLambda, ITypeLambda parentTypeLambda)
     : base(moduleLambda)
 {
     this.ParentTypeLambda = parentTypeLambda;
 }