diff options
Diffstat (limited to 'compiler/ast.nim')
-rwxr-xr-x | compiler/ast.nim | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/ast.nim b/compiler/ast.nim index 419c1f2d8..8763e750e 100755 --- a/compiler/ast.nim +++ b/compiler/ast.nim @@ -603,11 +603,18 @@ type PLib* = ref TLib TSym* = object of TIdObj + # proc and type instantiations are cached in the generic symbol case kind*: TSymKind - of skType: # generic instantiation caches + of skType: typeInstCache*: seq[PType] of routineKinds: procInstCache*: seq[PInstantiation] + of skModule: + # modules keep track of the generic symbols they use from other modules. + # this is because in incremental compilation, when a module is about to + # be replaced with a newer version, we must decrement the usage count + # of all previously used generics. + usedGenerics*: seq[PInstantiation] else: nil magic*: TMagic |