summaryrefslogtreecommitdiff
path: root/docs/development/scala.tools.nsc/nscTypes.dot
blob: 86adc12faafd1e836e14efcd494a85c534e1988d (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
digraph SQLTypes {

  size="4,4"
  rankdir=BT
  rank=max
  ratio=compress

  node [shape = record]

  Type

  SimpleTypeProxy -> Type

  RewrappingTypeProxy -> SimpleTypeProxy

  SubType -> Type

  NotNullType -> SubType

  SingletonType -> SubType

  ErrorType -> Type

  WildcardType -> Type

  BoundedWildcardType -> Type

  NoType -> Type

  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|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

  LazyType -> Type

}