fix for latest compiler version, added missing compileTime pragma

This commit is contained in:
Stefan Salewski 2019-01-15 19:46:28 +01:00
commit 34f61688be

View file

@ -37,7 +37,7 @@ proc findSignal(name, obj: NimNode): string =
n = getType(n)[1] n = getType(n)[1]
n = getType(n)[1] n = getType(n)[1]
var ProcID: int #var ProcID {.compileTime, global.}: int
# from file gisup.nim we have: # from file gisup.nim we have:
# "remove_editable!CellArea!2!(self: CellArea; renderer: CellRenderer; editable: CellEditable | SpinButton | ComboBox | ... # "remove_editable!CellArea!2!(self: CellArea; renderer: CellRenderer; editable: CellEditable | SpinButton | ComboBox | ...
# so for signal remove_editable third parameter of handler proc can be CellEditable OR SpinButton OR ComboBox OR ... # so for signal remove_editable third parameter of handler proc can be CellEditable OR SpinButton OR ComboBox OR ...
@ -49,6 +49,8 @@ macro mconnect(widget: gobject.Object; signal: string; p: typed; arg: typed; ign
#echo p.symbol.getImpl().params.toStrLit #echo p.symbol.getImpl().params.toStrLit
#echo p.symbol.getImpl().params[2][1].toStrLit #echo p.symbol.getImpl().params[2][1].toStrLit
var ProcID {.compileTime, global.}: int
var # position and actual type of interface provider, if any var # position and actual type of interface provider, if any
ipos = -1 ipos = -1
ipro: string #= nil ipro: string #= nil
@ -179,9 +181,10 @@ template connect*(widget: gobject.Object; signal: string; p: typed; arg: typed):
template connect*(widget: gobject.Object; signal: string; p: typed): untyped = template connect*(widget: gobject.Object; signal: string; p: typed): untyped =
mconnect(widget, signal, p, "", true) mconnect(widget, signal, p, "", true)
var TimeoutID: int #var TimeoutID {.compileTime, global.}: int
# #
macro timeoutAdd*(interval: Natural; p: untyped; arg: typed): untyped = macro timeoutAdd*(interval: Natural; p: untyped; arg: typed): untyped =
var TimeoutID {.compileTime, global.}: int
inc(TimeoutID) inc(TimeoutID)
let ats = $getTypeInst(arg).toStrLit let ats = $getTypeInst(arg).toStrLit
let procName = "timeoutfunc_" & $TimeoutID let procName = "timeoutfunc_" & $TimeoutID
@ -209,9 +212,10 @@ $1($5)
""" % [$procName, ats, $interval.toStrLit, $procNameCdecl, $arg] """ % [$procName, ats, $interval.toStrLit, $procNameCdecl, $arg]
result = parseStmt(r1s & r2s) result = parseStmt(r1s & r2s)
var IdleID: int #var IdleID {.compileTime, global.}: int
# #
macro idleAdd*(p: untyped; arg: typed): untyped = macro idleAdd*(p: untyped; arg: typed): untyped =
var IdleID {.compileTime, global.}: int
inc(IdleID) inc(IdleID)
let ats = $getTypeInst(arg).toStrLit let ats = $getTypeInst(arg).toStrLit
let procName = "idlefunc_" & $IdleID let procName = "idlefunc_" & $IdleID