Exemple #1
0
        public CmlScriptValue_IndirectGlobal(Global_Indirect g, CmlScriptValue_Argument_Host h)
        {
            global = g;
            host   = h;

            indirect_values = new Dictionary <string, CmlScriptValue>();
        }
Exemple #2
0
 public void Inject(CmlScriptValue_Argument_Host host, CmlScriptRequest request)
 {
     request.AddExplicitIndirectValue(
         GetName(),
         host.AddArgument(new CmlScriptValue_Argument_Single_Placeholder(GetParameterType()))
         );
 }
Exemple #3
0
        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>();
        }
Exemple #4
0
 public CmlScriptValue CreateScriptValue(string id, CmlScriptValue_Argument_Host host)
 {
     return(GetGlobal(id).IfNotNull(g => g.CreateScriptValue(host)));
 }
Exemple #5
0
 public abstract CmlScriptValue CreateScriptValue(CmlScriptValue_Argument_Host host);
Exemple #6
0
        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));
        }
Exemple #7
0
 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))));
 }
Exemple #8
0
 public override CmlScriptValue CreateScriptValue(CmlScriptValue_Argument_Host host)
 {
     return(new CmlScriptValue_IndirectGlobal(this, host));
 }
Exemple #9
0
 public abstract CmlScriptValue GetIndirectValue(string id, CmlScriptValue_Argument_Host host);
Exemple #10
0
 public override CmlScriptValue CreateScriptValue(CmlScriptValue_Argument_Host host)
 {
     return(host.AddArgument(CreateScriptValueArgument()));
 }