return System.Linq.Expressions.Expression.Assign (target_object, source_object);
}
#endif
- protected virtual Expression ResolveConversions (ResolveContext ec)
+ protected virtual Expression ResolveConversions (ResolveContext rc)
{
- source = Convert.ImplicitConversionRequired (ec, source, target.Type, source.Location);
+ source = Convert.ImplicitConversionRequiredEnhanced (rc, source, target.Type, source.Location);
if (source == null)
return null;
return null;
if (resolved == null) {
- var ctx = new FieldInitializerContext (mc, ec);
- resolved = base.DoResolve (ctx) as ExpressionStatement;
+ resolved = ResolveInitializer (ec);
}
return resolved;
}
+ protected virtual ExpressionStatement ResolveInitializer (ResolveContext rc)
+ {
+ var ctx = new FieldInitializerContext (mc, rc);
+ return base.DoResolve (ctx) as ExpressionStatement;
+ }
+
public override void EmitStatement (EmitContext ec)
{
if (resolved == null)