示例#1
0
 public IDPacket GET(string name)
 {
     if (current_scope.Primitives.Numbers.ContainsKey(name))
     {
         return(IDPacket.CreateIDPacket(this, name, IdentityType.Number));
     }
     else if (current_scope.Primitives.Booleans.ContainsKey(name))
     {
         return(IDPacket.CreateIDPacket(this, name, IdentityType.Boolean));
     }
     else if (current_scope.Primitives.Text.ContainsKey(name))
     {
         return(IDPacket.CreateIDPacket(this, name, IdentityType.Text));
     }
     else if (current_scope.Generics.ContainsKey(name))
     {
         IDPacket     StructPacket = IDPacket.CreateIDPacket(this, name, IdentityType.Structure);
         GenericFrame GF;
         ArrayFrame   AF = new ArrayFrame();
         TryGetGeneric(StructPacket, out GF);
         if (GF.GetType() == AF.GetType())
         {
             AF = (ArrayFrame)GF;
             StructPacket.ArrayType = AF.ResolvedType;
         }
         return(StructPacket);
     }
     else if (current_scope.Functions.ContainsKey(name))
     {
         return(IDPacket.CreateIDPacket(this, name, IdentityType.Function));
     }
     else
     {
         return(null);
     }
 }