예제 #1
0
        private SimpleFieldDescription CreateField(TypeName declaredOn, IReflectField field,
                                                   Func <IReflectClass, ITypeDescription> typeLookUp)
        {
            var fieldType = typeLookUp(field.GetFieldType());

            return(SimpleFieldDescription.Create(field.GetName(),
                                                 fieldType, IndexLookUp(declaredOn, field.GetName(), fieldType.TypeName)));
        }
예제 #2
0
        private static SimpleFieldDescription ToFieldDescription(TypeName declaringType, Type fieldType, string name,
                                                                 IDictionary <Type, ITypeDescription> knownTypes, IndexStateLookup indexLookUp)
        {
            var type = knownTypes.TryGet(fieldType)
                       .GetValue(() => Create(fieldType, knownTypes, new ITypeDescription[0], indexLookUp));

            return(SimpleFieldDescription.Create(name, type, indexLookUp(declaringType, name, type.TypeName)));
        }