public FieldInfo(string fieldName, ClassInfo fieldClass, bool isPrimitive, bool isArray
			, bool isNArray)
		{
			_fieldName = fieldName;
			_fieldClass = fieldClass;
			_isPrimitive = isPrimitive;
			_isArray = isArray;
			_isNArray = isNArray;
		}
		public virtual GenericClass ClassMetaToGenericClass(GenericReflector reflector, ClassInfo
			 classMeta)
		{
			if (classMeta.IsSystemClass())
			{
				return (GenericClass)reflector.ForName(classMeta.GetClassName());
			}
			string className = classMeta.GetClassName();
			// look up from generic class table.
			GenericClass genericClass = LookupGenericClass(className);
			if (genericClass != null)
			{
				return genericClass;
			}
			IReflectClass reflectClass = reflector.ForName(className);
			if (reflectClass != null)
			{
				return (GenericClass)reflectClass;
			}
			GenericClass genericSuperClass = null;
			ClassInfo superClassMeta = classMeta.GetSuperClass();
			if (superClassMeta != null)
			{
				genericSuperClass = ClassMetaToGenericClass(reflector, superClassMeta);
			}
			genericClass = new GenericClass(reflector, null, className, genericSuperClass);
			RegisterGenericClass(className, genericClass);
			FieldInfo[] fields = classMeta.GetFields();
			GenericField[] genericFields = new GenericField[fields.Length];
			for (int i = 0; i < fields.Length; ++i)
			{
				ClassInfo fieldClassMeta = fields[i].GetFieldClass();
				string fieldName = fields[i].GetFieldName();
				GenericClass genericFieldClass = ClassMetaToGenericClass(reflector, fieldClassMeta
					);
				genericFields[i] = new GenericField(fieldName, genericFieldClass, fields[i]._isPrimitive
					);
			}
			genericClass.InitFields(genericFields);
			return genericClass;
		}
		private void RegisterClassMeta(string className, ClassInfo classMeta)
		{
			_classMetaTable.Put(className, classMeta);
		}
Example #4
0
 public virtual void SetSuperClass(Db4objects.Db4o.CS.Internal.ClassInfo superClass
                                   )
 {
     this._superClass = superClass;
 }
Example #5
0
		public virtual void SetSuperClass(Db4objects.Db4o.CS.Internal.ClassInfo superClass
			)
		{
			this._superClass = superClass;
		}
        public virtual GenericClass ClassMetaToGenericClass(GenericReflector reflector, ClassInfo
                                                            classMeta)
        {
            if (classMeta.IsSystemClass())
            {
                return((GenericClass)reflector.ForName(classMeta.GetClassName()));
            }
            string className = classMeta.GetClassName();
            // look up from generic class table.
            GenericClass genericClass = LookupGenericClass(className);

            if (genericClass != null)
            {
                return(genericClass);
            }
            IReflectClass reflectClass = reflector.ForName(className);

            if (reflectClass != null)
            {
                return((GenericClass)reflectClass);
            }
            GenericClass genericSuperClass = null;
            ClassInfo    superClassMeta    = classMeta.GetSuperClass();

            if (superClassMeta != null)
            {
                genericSuperClass = ClassMetaToGenericClass(reflector, superClassMeta);
            }
            genericClass = new GenericClass(reflector, null, className, genericSuperClass);
            RegisterGenericClass(className, genericClass);
            FieldInfo[]    fields        = classMeta.GetFields();
            GenericField[] genericFields = new GenericField[fields.Length];
            for (int i = 0; i < fields.Length; ++i)
            {
                ClassInfo    fieldClassMeta    = fields[i].GetFieldClass();
                string       fieldName         = fields[i].GetFieldName();
                GenericClass genericFieldClass = ClassMetaToGenericClass(reflector, fieldClassMeta
                                                                         );
                genericFields[i] = new GenericField(fieldName, genericFieldClass, fields[i]._isPrimitive
                                                    );
            }
            genericClass.InitFields(genericFields);
            return(genericClass);
        }
 private void RegisterClassMeta(string className, ClassInfo classMeta)
 {
     _classMetaTable.Put(className, classMeta);
 }