From 4e40d90f6f78a517e5354b96cbcb31465a19ff04 Mon Sep 17 00:00:00 2001 From: Matthew Baulch Date: Sun, 21 Aug 2016 14:13:42 +1000 Subject: [PATCH] Add comments to clarify the roles of abstractX and typedescX types. --- compiler/types.nim | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler/types.nim b/compiler/types.nim index ff60730f0b..312e36ae51 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}