diff options
author | Paolo G. Giarrusso <p.giarrusso@gmail.com> | 2016-11-07 20:46:10 +0100 |
---|---|---|
committer | Paolo G. Giarrusso <p.giarrusso@gmail.com> | 2016-11-07 21:07:49 +0100 |
commit | eec0e9b2111208c6f0bab8ec5d06c63e4432fb9e (patch) | |
tree | 2aff4c97437b440456912a91b50f1e69fb6ac20b /docs/docs/internals/type-system.md | |
parent | 5cef7a9098422dd568e9bc7e8eb5c9e4f04d4396 (diff) | |
download | dotty-eec0e9b2111208c6f0bab8ec5d06c63e4432fb9e.tar.gz dotty-eec0e9b2111208c6f0bab8ec5d06c63e4432fb9e.tar.bz2 dotty-eec0e9b2111208c6f0bab8ec5d06c63e4432fb9e.zip |
Resync copy of the type diagram in docs
Also add a note that the two diagrams should be kept in sync, both ways,
so there's a chance that the copies are kept in sync.
Alternatively one could drop a copy.
Diffstat (limited to 'docs/docs/internals/type-system.md')
-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 |