public override object Exec(TypeVariable t, object arg) { if (t.IsFreshVariable()) { return(false); } return(t.Substitution.AcceptOperation(this, arg)); }
//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); }
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); }