From 623e0763c2df1aa49a516775ba5e43fa4e258ba2 Mon Sep 17 00:00:00 2001 From: Matthew Baulch Date: Thu, 11 Aug 2016 21:09:34 +1000 Subject: [PATCH] Tidy up isOrdinalType --- compiler/types.nim | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/compiler/types.nim b/compiler/types.nim index c56382b896..442db8ec94 100644 --- a/compiler/types.nim +++ b/compiler/types.nim @@ -148,10 +148,11 @@ proc skipGeneric(t: PType): PType = proc isOrdinalType(t: PType): bool = assert(t != nil) - # caution: uint, uint64 are no ordinal types! - result = t.kind in {tyChar,tyInt..tyInt64,tyUInt8..tyUInt32,tyBool,tyEnum} or - (t.kind in {tyRange, tyOrdinal, tyConst, tyMutable, tyGenericInst}) and - isOrdinalType(t.sons[0]) + const + # caution: uint, uint64 are no ordinal types! + baseKinds = {tyChar,tyInt..tyInt64,tyUInt8..tyUInt32,tyBool,tyEnum} + parentKinds = {tyRange, tyOrdinal, tyConst, tyMutable, tyGenericInst} + t.kind in baseKinds or (t.kind in parentKinds and isOrdinalType(t.sons[0])) proc enumHasHoles(t: PType): bool = var b = t