diff options
author | Guillaume Martres <smarter@ubuntu.com> | 2016-11-12 17:04:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-12 17:04:04 +0100 |
commit | c4f2024188bc7410e1365d0c54b1a04e41a662ff (patch) | |
tree | e1a1c58127c0c0ffdbede39c09243a9c08926aa1 /docs | |
parent | d60f89dc005b32c18f9daf22c923c6de3dd00155 (diff) | |
parent | eec0e9b2111208c6f0bab8ec5d06c63e4432fb9e (diff) | |
download | dotty-c4f2024188bc7410e1365d0c54b1a04e41a662ff.tar.gz dotty-c4f2024188bc7410e1365d0c54b1a04e41a662ff.tar.bz2 dotty-c4f2024188bc7410e1365d0c54b1a04e41a662ff.zip |
Merge pull request #1678 from Blaisorblade/sync-diagrams
Resync copy of the type diagram in docs
Diffstat (limited to 'docs')
-rw-r--r-- | docs/docs/internals/type-system.md | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/docs/docs/internals/type-system.md b/docs/docs/internals/type-system.md index e86e07fd1..e3a563c21 100644 --- a/docs/docs/internals/type-system.md +++ b/docs/docs/internals/type-system.md @@ -13,6 +13,8 @@ A type which inherits `TypeProxy` is a proxy for another type accessible using the `underlying` method, other types are called _ground_ types and inherit `CachedGroundType` or `UncachedGroundType`. +Here's a diagram, copied from [dotty/tools/dotc/core/Types.scala][1]: + ``` Type -+- ProxyType --+- NamedType ----+--- TypeRef | | \ @@ -22,19 +24,22 @@ Type -+- ProxyType --+- NamedType ----+--- TypeRef | | +--- SuperType | | +--- ConstantType | | +--- MethodParam - | | +--- RefinedThis + | | +----RecThis + | | +--- SkolemType | +- PolyParam - | +- RefinedType + | +- RefinedOrRecType -+-- RefinedType + | | -+-- RecType + | +- HKApply | +- TypeBounds | +- ExprType | +- AnnotatedType | +- TypeVar + | +- PolyType | +- GroundType -+- AndType +- OrType +- MethodType -----+- ImplicitMethodType | +- JavaMethodType - +- PolyType +- ClassInfo | +- NoType |