Beispiel #1
0
        public static ClassDefinition LoadClass(Raw.ClassDefinition raw,
                                                HashedDefinitionDictionary <ClassDefinition> root)
        {
            var def = GetClass(raw);

            LoadClass(def, raw, root);
            return(def);
        }
Beispiel #2
0
        public static ClassDefinition LoadAnonymousClass(Raw.ClassDefinition raw,
                                                         HashedDefinitionDictionary <ClassDefinition> root)
        {
            var def = new ClassDefinition();

            LoadClass(def, raw, root);
            return(def);
        }
Beispiel #3
0
 private static ClassDefinition GetClass(Raw.ClassDefinition raw)
 {
     return(new ClassDefinition()
     {
         Name = raw.Name,
         Hash = raw.Hash,
     });
 }
Beispiel #4
0
 private static void LoadClass(ClassDefinition def,
                               Raw.ClassDefinition raw,
                               HashedDefinitionDictionary <ClassDefinition> root)
 {
     def.Friends = new ReadOnlyCollection <FriendDefinition>(LoadFriends(raw.Friends, root));
     def.Fields  = new ReadOnlyCollection <FieldDefinition>(LoadFields(raw.Fields));
     def.Objects = new ReadOnlyCollection <ClassDefinition>(LoadObjects(raw.Objects, root));
     def.DynamicNestedClasses = raw.DynamicNestedClasses;
     def.ClassFieldName       = raw.ClassFieldName;
     def.ClassFieldHash       = raw.ClassFieldHash;
 }