Ejemplo n.º 1
0
 internal static IReadOnlyList<ArgumentSymbol> MakeParameters(params TypeSymbol[] types)
 {
     var ret = new List<ArgumentSymbol>();
     for (var i = 0; i < types.Length; ++i)
     {
         var p = new ArgumentSymbol();
         p.Initialize("@@arg" + (i + 1), VariantType.Let, new List<AttributeSymbol>(), types[i]);
         ret.Add(p);
     }
     return ret;
 }
Ejemplo n.º 2
0
 public static IReadOnlyList<ArgumentSymbol> MakeArgumentTemplateInstanceList(Root root, IReadOnlyList<GenericsInstance> inst, IReadOnlyList<ArgumentSymbol> args)
 {
     var ret = new List<ArgumentSymbol>();
     foreach (var v in args)
     {
         var t = MakeClassTemplateInstance(root, inst, v.DataType);
         var p = new ArgumentSymbol();
         p.Initialize(v.Name, v.VariantType, v.Attribute, t);
         ret.Add(p);
     }
     return ret;
 }
Ejemplo n.º 3
0
 private ArgumentSymbol ImportArgument(ParameterInfo prm)
 {
     var elem = new ArgumentSymbol();
     if (ImportDictionary.ContainsKey(prm))
     {
         return (ArgumentSymbol)ImportDictionary[prm];
     }
     ImportDictionary.Add(prm, elem);
     var attribute = new List<AttributeSymbol>();
     AppendEmbededAttribute(attribute, prm);
     var dt = ImportType(prm.ParameterType);
     elem.Initialize(prm.Name, VariantType.Var, attribute, dt);
     return elem;
 }