public Expression CreateCallSiteBinder(ResolveContext ec, Arguments args) { Arguments binder_args = new Arguments(4); MemberAccess ns; if (ec.Module.PredefinedTypes.IsPlayScriptAotMode) { ns = new QualifiedAliasMember(QualifiedAliasMember.GlobalAlias, "PlayScript", loc); } else { ns = new MemberAccess(new MemberAccess( new QualifiedAliasMember(QualifiedAliasMember.GlobalAlias, "System", loc), "Linq", loc), "Expressions", loc); } var flags = ec.HasSet(ResolveContext.Options.CheckedScope) ? CSharpBinderFlags.CheckedContext : 0; binder_args.Add(new Argument(new BinderFlags(flags, this))); binder_args.Add(new Argument(new MemberAccess(new MemberAccess(ns, "ExpressionType", loc), name, loc))); binder_args.Add(new Argument(new TypeOf(ec.CurrentType, loc))); binder_args.Add(new Argument(new ImplicitlyTypedArrayCreation(args.CreateDynamicBinderArguments(ec), loc))); return(new Invocation(GetBinder("UnaryOperation", loc), binder_args)); }
public virtual object Visit(QualifiedAliasMember qualifiedAliasMember) { return(null); }
public override object Visit (QualifiedAliasMember qualifiedAliasMember) { var result = new MemberType (); result.Target = new SimpleType (qualifiedAliasMember.alias, Convert (qualifiedAliasMember.Location)); result.IsDoubleColon = true; var location = LocationsBag.GetLocations (qualifiedAliasMember); if (location != null && location.Count > 0) result.AddChild (new CSharpTokenNode (Convert (location [0]), Roles.DoubleColon), Roles.DoubleColon); result.AddChild (Identifier.Create (qualifiedAliasMember.Name, location != null && location.Count > 1 ? Convert (location [1]) : TextLocation.Empty), Roles.Identifier); return new TypeReferenceExpression () { Type = result }; }
void case_478() #line 3568 "cs-parser.jay" { var lt1 = (LocatedToken) yyVals[-2+yyTop]; var lt2 = (LocatedToken) yyVals[-1+yyTop]; yyVal = new QualifiedAliasMember (lt1.Value, lt2.Value, (int) yyVals[0+yyTop], lt1.Location); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); }
void case_477() #line 3560 "cs-parser.jay" { var lt1 = (LocatedToken) yyVals[-2+yyTop]; var lt2 = (LocatedToken) yyVals[-1+yyTop]; yyVal = new QualifiedAliasMember (lt1.Value, lt2.Value, (TypeArguments) yyVals[0+yyTop], lt1.Location); lbag.AddLocation (yyVal, savedLocation, GetLocation (yyVals[-1+yyTop])); }
public virtual object Visit (QualifiedAliasMember qualifiedAliasMember) { return null; }
void case_532() #line 3832 "cs-parser.jay" { var lt1 = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; var lt2 = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; var qam = new QualifiedAliasMember (lt1.Value, lt2.Value, (int) yyVals[0+yyTop], lt1.Location); yyVal = qam; lbag.AddLocation (qam.TypeArguments, Lexer.GetGenericDimensionLocations ()); lbag.AddLocation (yyVal, savedLocation, GetLocation (yyVals[-1+yyTop])); }