digraph SQLTypes { size="4,4" rankdir=BT rank=max ratio=compress node [shape = record] Type SimpleTypeProxy [label = "{SimpleTypeProxy|(trait)}"] SimpleTypeProxy -> Type RewrappingTypeProxy [label = "{RewrappingTypeProxy|(trait)}"] RewrappingTypeProxy -> SimpleTypeProxy SubType -> Type NotNullType [label = "{NotNullType|underlying: Type}"] NotNullType -> SubType NotNullType -> RewrappingTypeProxy SingletonType -> SubType SingletonType -> SimpleTypeProxy ErrorType [label = "{ErrorType|(object)}"] ErrorType -> Type WildcardType [label = "{WildcardType|(object)}"] WildcardType -> Type BoundedWildcardType [label = "{BoundedWildcardType|bounds: TypeBounds}"] BoundedWildcardType -> Type NoType [label = "{NoType|(object)}"] NoType -> Type NoPrefix [label = "{NoPrefix|(object)}"] NoPrefix -> Type DeBruijnIndex -> Type ThisType [label = "{ThisType|sym: Symbol}"] ThisType -> SingletonType SingleType [label = "{SingleType|pre: Type\nsym: Symbol}"] SingleType -> SingletonType SuperType [label = "{SuperType|thistpe: Type\nsupertp: Type}"] SuperType -> SingletonType TypeBounds [label = "{TypeBounds|lo: Type\nhi: Type}"] TypeBounds -> SubType CompoundType -> Type RefinedType[label = "{RefinedType|parents: List[Type]\ndecls: Scope}"] RefinedType -> CompoundType ClassInfoType[label = "{ClassInfoType|parents: List[Type]\ndecls: Scope\nsymbol: Symbol}"] ClassInfoType -> CompoundType PackageClassInfoType[label = "{PackageClassInfoType|decls: Scope\nclazz: Symbol\nloader: LazyType}"] PackageClassInfoType -> ClassInfoType ConstantType[label = "{ConstantType|value: Constant}"] ConstantType -> SingletonType TypeRef[label = "{TypeRef|pre: Type\nsym: Symbol\nargs: List[Type]}"] TypeRef -> Type MethodType[label = "{MethodType|paramTypes: List[Type]\nresultType: Type}"] MethodType -> Type ImplicitMethodType[label = "{MethodType|pts: List[Type]\nrt: Type}"] ImplicitMethodType -> MethodType JavaMethodType[label = "{MethodType|pts: List[Type]\nrt: Type}"] JavaMethodType -> MethodType PolyType[label = "{PolyType|typeParams: List[Symbol]\nresultType: Type}"] PolyType -> Type OverloadedType[label = "{OverloadedType|quantified: List[Symbol]\nunderlying: Type}"] ExistentialType -> RewrappingTypeProxy OverloadedType[label = "{OverloadedType|pre: Type\nalternatives: List[Symbol]}"] OverloadedType -> Type AntiPolyType[label = "{AntiPolyType|pre: Type\ntargs: List[Type]}"] AntiPolyType -> Type TypeVar[label = "{TypeVar|origin: Type\nconstr: TypeConstraint}"] TypeVar -> Type AnnotatedType[label = "{AnnotatedType|attributes: List[AnnotationInfo]\nunderlying: Type\nselfsym: Symbol}"] AnnotatedType -> RewrappingTypeProxy LazyType -> Type }