Beispiel #1
0
 public override object Exec(TypeVariable t, object arg)
 {
     if (t.IsFreshVariable())
     {
         return(false);
     }
     return(t.Substitution.AcceptOperation(this, arg));
 }
Beispiel #2
0
 //public override object AcceptOperation(TypeExpression firstOperand) { return ReportError(firstOperand); }
 public override object Exec(TypeVariable firstOperand, object arg)
 {
     if (!firstOperand.IsFreshVariable())
     {
         return(firstOperand.Substitution.AcceptOperation(this, arg));
     }
     return(this.typeExpressionList);
 }
Beispiel #3
0
 public override object Exec(TypeVariable t, object arg)
 {
     if (t.IsFreshVariable())
     {
         return(true); //It is an introspective method call
     }
     return(t.Substitution.AcceptOperation(this, arg));
 }
        public override object Exec(TypeVariable t, object arg)
        {
            if (!t.IsFreshVariable())
            {
                return(t.Substitution.AcceptOperation(this, arg));
            }

            this.hasTypeVariable = true;
            if (this.firstTime)
            {
                this.firstTime = false;
                this.areThereNonValidObjects = TypeExpression.As <UnionType>(((FieldAccessExpression)this.node.Identifier).Expression.ExpressionType) != null;
                this.EndInvocationMethod(false);
            }
            return(null);
        }