public CmlScriptValue_IndirectGlobal(Global_Indirect g, CmlScriptValue_Argument_Host h) { global = g; host = h; indirect_values = new Dictionary <string, CmlScriptValue>(); }
public void Inject(CmlScriptValue_Argument_Host host, CmlScriptRequest request) { request.AddExplicitIndirectValue( GetName(), host.AddArgument(new CmlScriptValue_Argument_Single_Placeholder(GetParameterType())) ); }
public CmlScriptRequest(CmlContext c) { context = c; arguments = new List <CmlScriptValue_Argument>(); indirect_values = new Dictionary <string, CmlScriptValue>(); this_argument = AddPrimaryArgument(new CmlScriptValue_Argument_Single_Constant(context.GetTargetInfo().GetTarget())); host_argument = AddPrimaryArgument(new CmlScriptValue_Argument_Host()); parent_argument = null; parent_of_type_arguments = new Dictionary <Type, CmlScriptValue_Argument>(); this_representation_argument = null; insert_representation_values = new Dictionary <string, CmlScriptValue>(); }
public CmlScriptValue CreateScriptValue(string id, CmlScriptValue_Argument_Host host) { return(GetGlobal(id).IfNotNull(g => g.CreateScriptValue(host))); }
public abstract CmlScriptValue CreateScriptValue(CmlScriptValue_Argument_Host host);
public void Compile(CmlContext context, CmlScriptRequest request, CmlScriptValue this_value) { CmlScriptValue_Argument_Host parameter_host = request.AddPrimaryArgument(new CmlScriptValue_Argument_Host()); GetFunctionParameters().Process(p => p.Inject(parameter_host, request)); }
public override CmlScriptValue GetIndirectValue(string id, CmlScriptValue_Argument_Host host) { return(resource_manager.GetObjectEX(id) .IfNotNull(o => host.AddArgument(new CmlScriptValue_Argument_Single_Constant(o)))); }
public override CmlScriptValue CreateScriptValue(CmlScriptValue_Argument_Host host) { return(new CmlScriptValue_IndirectGlobal(this, host)); }
public abstract CmlScriptValue GetIndirectValue(string id, CmlScriptValue_Argument_Host host);
public override CmlScriptValue CreateScriptValue(CmlScriptValue_Argument_Host host) { return(host.AddArgument(CreateScriptValueArgument())); }