first steps to make templates hygienic
This commit is contained in:
parent
0cac8d9b6f
commit
5e15dec175
23 changed files with 486 additions and 187 deletions
|
|
@ -234,7 +234,7 @@ type
|
|||
sfDiscriminant, # field is a discriminant in a record/object
|
||||
sfDeprecated, # symbol is deprecated
|
||||
sfError, # usage of symbol should trigger a compile-time error
|
||||
sfInnerProc, # proc is an inner proc
|
||||
sfShadowed, # a symbol that was shadowed in some inner scope
|
||||
sfThread, # proc will run as a thread
|
||||
# variable is a thread variable
|
||||
sfCompileTime, # proc can be evaluated at compile time
|
||||
|
|
@ -247,7 +247,7 @@ type
|
|||
# language; for interfacing with Objective C
|
||||
sfDiscardable # returned value may be discarded implicitely
|
||||
sfDestructor # proc is destructor
|
||||
sfByCopy # a variable is to be captured by value in a closure
|
||||
sfGenSym # symbol is 'gensym'ed; do not add to symbol table
|
||||
|
||||
TSymFlags* = set[TSymFlag]
|
||||
|
||||
|
|
@ -264,10 +264,7 @@ const
|
|||
# symbol name that was generated by the compiler
|
||||
# the compiler will avoid printing such names
|
||||
# in user messages.
|
||||
|
||||
sfShadowed* = sfInnerProc
|
||||
# a variable that was shadowed in some inner scope
|
||||
|
||||
|
||||
sfHoist* = sfVolatile ## proc return value can be hoisted
|
||||
|
||||
const
|
||||
|
|
@ -785,15 +782,6 @@ const # for all kind of hash tables:
|
|||
GrowthFactor* = 2 # must be power of 2, > 0
|
||||
StartSize* = 8 # must be power of 2, > 0
|
||||
|
||||
proc ValueToString*(a: PNode): string =
|
||||
case a.kind
|
||||
of nkCharLit..nkUInt64Lit: result = $(a.intVal)
|
||||
of nkFloatLit..nkFloat128Lit: result = $(a.floatVal)
|
||||
of nkStrLit..nkTripleStrLit: result = a.strVal
|
||||
else:
|
||||
InternalError(a.info, "valueToString")
|
||||
result = ""
|
||||
|
||||
proc copyStrTable(dest: var TStrTable, src: TStrTable) =
|
||||
dest.counter = src.counter
|
||||
if isNil(src.data): return
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue