summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorMatthew Baulch <baulch.matt@gmail.com>2016-08-21 14:13:42 +1000
committerMatthew Baulch <baulch.matt@gmail.com>2016-08-21 14:13:42 +1000
commit4e40d90f6f78a517e5354b96cbcb31465a19ff04 (patch)
tree9c31e737bdfffdf14ee1ef4b5bae4739465ae42b /compiler
parentb0d9c11e5395b4cb3c1f1294b6dfbaf3f5c1f678 (diff)
downloadNim-4e40d90f6f78a517e5354b96cbcb31465a19ff04.tar.gz
Add comments to clarify the roles of abstractX and typedescX types.
Diffstat (limited to 'compiler')
-rw-r--r--compiler/types.nim3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/types.nim b/compiler/types.nim
index ff60730f0..312e36ae5 100644
--- a/compiler/types.nim
+++ b/compiler/types.nim
@@ -48,6 +48,8 @@ proc isOrdinalType*(t: PType): bool
 proc enumHasHoles*(t: PType): bool
 
 const
+  # TODO: Remove tyTypeDesc from each abstractX and (where necessary)
+  # replace with typedescX
   abstractPtrs* = {tyVar, tyPtr, tyRef, tyGenericInst, tyDistinct, tyOrdinal,
                    tyConst, tyMutable, tyTypeDesc}
   abstractVar* = {tyVar, tyGenericInst, tyDistinct, tyOrdinal,
@@ -61,6 +63,7 @@ const
 
   skipPtrs* = {tyVar, tyPtr, tyRef, tyGenericInst, tyConst, tyMutable,
                tyTypeDesc}
+  # typedescX is used if we're sure tyTypeDesc should be included (or skipped)
   typedescPtrs* = abstractPtrs + {tyTypeDesc}
   typedescInst* = abstractInst + {tyTypeDesc}