//constructor private MethodMetadata(MethodBase method) { m_Name = method.Name; m_GenericArguments = !method.IsGenericMethodDefinition ? null : TypeMetadata.EmitGenericArguments(method.GetGenericArguments()); m_ReturnType = EmitReturnType(method); m_Parameters = EmitParameters(method.GetParameters()); m_Modifiers = EmitModifiers(method); m_Extension = EmitExtension(method); }
public MethodMetadata(MethodBase method) : base(method.IsConstructor ? method.ReflectedType.Name : method.Name) { GenericArguments = !method.IsGenericMethodDefinition ? null : TypeMetadata.EmitGenericArguments(method.GetGenericArguments()).ToList(); Parameters = EmitParameters(method.GetParameters()).ToList(); AttributesMetadata = TypeMetadata.EmitAttributes(method.GetCustomAttributes()); ReturnType = EmitReturnType(method); ReflectedType = TypeMetadata.EmitReference(method.ReflectedType); EmitModifiers(method); Extension = EmitExtension(method); }
internal TypeMetadata(Type type) { //m_Type = type; m_typeName = type.Name; if (!m_typesMetadata.ContainsKey(this.m_typeName)) { m_typesMetadata.Add(this.m_typeName, this); } m_DeclaringType = EmitDeclaringType(type.DeclaringType); m_Constructors = MethodMetadata.EmitMethods(type.GetConstructors()); m_Methods = MethodMetadata.EmitMethods(type.GetMethods()); m_NestedTypes = EmitNestedTypes(type.GetNestedTypes()); m_ImplementedInterfaces = EmitImplements(type.GetInterfaces()); m_GenericArguments = !type.IsGenericTypeDefinition ? null : TypeMetadata.EmitGenericArguments(type.GetGenericArguments()); m_Modifiers = EmitModifiers(type); m_BaseType = EmitExtends(type.BaseType); m_Properties = PropertyMetadata.EmitProperties(type.GetProperties()); m_TypeKind = GetTypeKind(type); //m_Attributes = type.GetCustomAttributes(false).Cast<Attribute>(); }