TypeExpr enumerable_type;
TypeArguments generic_args;
TypeExpr generic_enumerator_type;
+#if GMCS_SOURCE
TypeExpr generic_enumerable_type;
-
+#endif
+
public IteratorHost (Iterator iterator)
: base (iterator.Container.Toplevel, iterator.Host, iterator.GenericMethod,
iterator.Location)
point.Define (ig);
}
+ public override string ContainerType {
+ get { return "iterator"; }
+ }
+
public override bool IsIterator {
get { return true; }
}
//
private Iterator (IMethodData m_container, DeclSpace host, GenericMethod generic,
int modifiers, Type iterator_type, bool is_enumerable)
- : base (null, host, generic, m_container.ParameterInfo,
+ : base (host, generic, m_container.ParameterInfo,
new ToplevelBlock (m_container.ParameterInfo, m_container.Location),
m_container.Block, TypeManager.bool_type, modifiers,
m_container.Location)
return OriginalMethod.GetSignatureForError ();
}
- public override bool Resolve (EmitContext ec)
+ public override bool Define (EmitContext ec)
{
Report.Debug (64, "RESOLVE ITERATOR", this, Container, Block);
return false;
}
- if (!base.Resolve (ec))
+ if (!base.Define (ec))
return false;
Report.Debug (64, "RESOLVE ITERATOR #1", this, method, method.Parent,
Parameters.EmptyReadOnlyParameters);
}
+ public override Expression Resolve (EmitContext ec)
+ {
+ throw new NotSupportedException ();
+ }
+
protected class MoveNextStatement : Statement {
Iterator iterator;