public ArrayTypeName(FlyweightFactory factory, Type type) { var t = type; var ranks = string.Empty; do { int rank; switch (rank = t.GetArrayRank()) { case 1: ranks += "[]"; break; case 2: ranks += "[,]"; break; case 3: ranks += "[,,]"; break; default: ranks += ("[" + new string(',', rank - 1) + "]"); break; } } while ((t = t.GetElementType()).IsArray); ElementTypeName = factory.GetTypeName(t); Ranks = ranks; TypeFullName = type.FullName; }
public ParameterizedTypeName(FlyweightFactory factory, TypeInfo typeInfo) { Parent = factory.GetNamespaceName(typeInfo.Namespace); CoreName = GetCoreName(typeInfo.Name); GenericTypeArgumentNames = factory.GetTypeNames(typeInfo.GenericTypeParameters); TypeFullName = typeInfo.FullName; }
public ParameterizedTypeName(FlyweightFactory factory, Type type) { Parent = factory.GetNamespaceName(type.Namespace); CoreName = GetCoreName(type.Name); GenericTypeArgumentNames = factory.GetTypeNames(type.GenericTypeArguments); IsConstructed = true; TypeFullName = type.FullName; }
public ParameterizedTypeName(FlyweightFactory factory, TypeName parentTypeName, TypeInfo typeInfo) { Parent = parentTypeName; CoreName = GetCoreName(typeInfo.Name); var parameterized = parentTypeName as ParameterizedTypeName; if (parameterized != null) { GenericTypeArgumentNames = factory.GetTypeNames(typeInfo.GenericTypeParameters, parameterized.GenericTypeArgumentNames.Length); } else { GenericTypeArgumentNames = factory.GetTypeNames(typeInfo.GenericTypeParameters); } TypeFullName = typeInfo.FullName; }
public ParameterizedTypeName(FlyweightFactory factory, TypeName parentTypeName, Type type) { Parent = parentTypeName; CoreName = GetCoreName(type.Name); var parameterized = parentTypeName as ParameterizedTypeName; if (parameterized != null) { GenericTypeArgumentNames = factory.GetTypeNames(type.GenericTypeArguments, parameterized.GenericTypeArgumentNames.Length); } else { GenericTypeArgumentNames = factory.GetTypeNames(type.GenericTypeArguments); } IsConstructed = true; TypeFullName = type.FullName; }
public PointerTypeName(FlyweightFactory factory, Type type) { ElementTypeName = factory.GetTypeName(type.GetElementType()); TypeFullName = type.FullName; }
public NonParameterizedTypeName(FlyweightFactory factory, TypeName declaringTypeName, Type type) { Parent = declaringTypeName; Name = type.Name; TypeFullName = type.FullName; }
public NonParameterizedTypeName(FlyweightFactory factory, Type type) { Parent = factory.GetNamespaceName(type.Namespace); Name = type.Name; TypeFullName = type.FullName; }
public NullableTypeName(FlyweightFactory factory, Type type) { UnderlyingTypeName = factory.GetTypeName(Nullable.GetUnderlyingType(type)); _System = factory.GetNamespaceName(nameof(System)); TypeFullName = type.FullName; }