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); }
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); }