Example #1
0
		protected Reference(Reference owner)
		{
			this.owner = owner;
		}
		public AssignArrayStatement(Reference targetArray, int targetPosition, Expression value)
		{
			this.targetArray = targetArray;
			this.targetPosition = targetPosition;
			this.value = value;
		}
		public MethodInvocationExpression(Reference owner, MethodEmitter method, params Expression[] args) :
			this(owner, method.MethodBuilder, args)
		{
		}
		public MethodInvocationExpression(Reference owner, MethodInfo method, params Expression[] args)
		{
			this.owner = owner;
			this.method = method;
			this.args = args;
		}
		public AssignStatement(Reference target, Expression expression)
		{
			this.target = target;
			this.expression = expression;
		}
		public ReturnStatement(Reference reference)
		{
			this.reference = reference;
		}
		public IfNullExpression(Reference reference, IILEmitter ifNull, IILEmitter ifNotNull = null)
		{
			this.reference = reference;
			this.ifNull = ifNull;
			this.ifNotNull = ifNotNull;
		}
		public LoadRefArrayElementExpression(ConstReference index, Reference arrayReference)
		{
			this.index = index;
			this.arrayReference = arrayReference;
		}
		public LoadRefArrayElementExpression(int index, Reference arrayReference)
			: this(new ConstReference(index), arrayReference)
		{
		}
		public AddressOfReferenceExpression(Reference reference)
		{
			this.reference = reference;
		}
		public ReferenceExpression(Reference reference)
		{
			this.reference = reference;
		}