* ecore.cs: CreateExpressionTree is finally abstract.
* expression.cs, linq.cs: Updated.
svn path=/trunk/mcs/; revision=102270
+2008-05-01 Marek Safar <marek.safar@gmail.com>
+
+ * ecore.cs: CreateExpressionTree is finally abstract.
+
+ * expression.cs, linq.cs: Updated.
+
2008-05-01 Marek Safar <marek.safar@gmail.com>
* expression.cs, ecore.cs: Block base access expression inside expression
return cloned;
}
- public virtual Expression CreateExpressionTree (EmitContext ec)
- {
- throw new NotImplementedException (
- "Expression tree conversion not implemented for " + GetType ());
- }
+ //
+ // Implementation of expression to expression tree conversion
+ //
+ public abstract Expression CreateExpressionTree (EmitContext ec);
protected Expression CreateExpressionFactoryCall (string name, ArrayList args)
{
//args.Add (new Argument (InstanceExpression.CreateExpressionTree (ec)));
//args.Add (getter expression);
//return CreateExpressionFactoryCall ("Property", args);
- return base.CreateExpressionTree (ec);
+ throw new NotImplementedException ();
}
public Expression CreateSetterTypeOfExpression ()
this.args = args;
}
+ public override Expression CreateExpressionTree (EmitContext ec)
+ {
+ throw new NotSupportedException ("ET");
+ }
+
public override Expression DoResolve (EmitContext ec)
{
Expression c = CommonResolve (ec);
t.next = (AQueryClause)next.Clone (clonectx);
}
+ public override Expression CreateExpressionTree (EmitContext ec)
+ {
+ // Should not be reached
+ throw new NotSupportedException ("ET");
+ }
+
public override Expression DoResolve (EmitContext ec)
{
return expr.DoResolve (ec);
// Nothing to clone
}
+ public override Expression CreateExpressionTree (EmitContext ec)
+ {
+ throw new NotSupportedException ();
+ }
+
public override Expression DoResolve (EmitContext ec)
{
throw new NotSupportedException ();