Пример #1
0
        public static void Add(global::Zeze.Gen.ModuleSpace space, Type type)
        {
            String fullName = space.Path(".", type.Name);

            if (Types.ContainsKey(fullName))
            {
                throw new Exception("duplicate type: " + fullName);
            }

            Types.Add(fullName, type);
        }
Пример #2
0
        private TypeList(global::Zeze.Gen.ModuleSpace space, String key, String value)
        {
            if (key != null && key.Length > 0)
            {
                throw new Exception(Name + " type does not need a key. " + key);
            }

            ValueType = Type.Compile(space, value, null, null);
            //if (ValueType is TypeBinary)
            //	throw new Exception(Name + " Error : value type is binary.");
            if (ValueType is TypeDynamic)
            {
                throw new Exception(Name + " Error : value type is dynamic.");
            }
        }
Пример #3
0
        private TypeMap(global::Zeze.Gen.ModuleSpace space, String key, String value)
        {
            if (key.Length == 0)
            {
                throw new Exception("map type need a key");
            }
            if (value.Length == 0)
            {
                throw new Exception("map type need a value");
            }

            KeyType = Type.Compile(space, key, null, null);
            if (!KeyType.IsKeyable)
            {
                throw new Exception("map key need a keyable type");
            }
            ValueType = Type.Compile(space, value, null, null);
            //if (ValueType is TypeBinary)
            //	throw new Exception(Name + " Error : value type is binary.");
            if (ValueType is TypeDynamic)
            {
                throw new Exception(Name + " Error : value type is dynamic.");
            }
        }
Пример #4
0
 public static Type Compile(global::Zeze.Gen.ModuleSpace space, String name)
 {
     return(Compile(space, name, null, null));
 }