- readonly Parameter parameter;
-
- public RangeAnonymousTypeParameter (Expression initializer, Parameter parameter)
- : base (initializer, parameter.Name, parameter.Location)
- {
- this.parameter = parameter;
- }
-
- public override Expression DoResolve (EmitContext ec)
- {
- Expression e = base.DoResolve (ec);
- if (e != null) {
- //
- // Spread resolved initializer type
- //
- parameter.ParameterType = type;
- parameter.Resolve (ec);
- }
-
- return e;
- }
-
- protected override void Error_InvalidInitializer (Expression initializer)
- {
- Report.Error (1932, loc, "A range variable `{0}' cannot be initialized with `{1}'",
- Name, initializer.GetSignatureForError ());
- }
- }
-
- public Let (LocatedToken variable, Expression expr, Location loc)
- : base (variable, expr, loc)
- {
- }
-
- protected override void AddSelectorArguments (EmitContext ec, ArrayList args, Parameter parentParameter,
- ref Parameter parameter, TransparentIdentifiersScope ti)
- {
- args.Add (CreateSelectorArgument (ec, element_selector, parentParameter, ti));
- }
-
- protected override AnonymousTypeParameter CreateAnonymousTypeVariable (Parameter parameter)
- {
- return new RangeAnonymousTypeParameter (expr, parameter);