blob: b4c0cb5960f822ef48d999778656ac913634787b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
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
}
|