make tests green again

This commit is contained in:
Araq
2017-12-15 13:24:47 +01:00
parent 8db5b32ff7
commit be87fe9176
3 changed files with 16 additions and 14 deletions

View File

@@ -2123,6 +2123,8 @@ proc semExpr(c: PContext, n: PNode, flags: TExprFlags = {}): PNode =
of nkIdent, nkAccQuoted:
let checks = if efNoEvaluateGeneric in flags:
{checkUndeclared, checkPureEnumFields}
elif efInCall in flags:
{checkUndeclared, checkModule, checkPureEnumFields}
else:
{checkUndeclared, checkModule, checkAmbiguity, checkPureEnumFields}
var s = qualifiedLookUp(c, n, checks)

View File

@@ -8,19 +8,19 @@ HandlePrintEvent2: Output -> printing for ME'''
import events
type
TPrintEventArgs = object of TEventArgs
PrintEventArgs = object of EventArgs
user*: string
proc handleprintevent*(e: TEventArgs) =
proc handleprintevent*(e: EventArgs) =
write(stdout, "HandlePrintEvent: Output -> Handled print event\n")
proc handleprintevent2*(e: TEventArgs) =
var args: TPrintEventArgs = TPrintEventArgs(e)
proc handleprintevent2*(e: EventArgs) =
var args: PrintEventArgs = PrintEventArgs(e)
write(stdout, "HandlePrintEvent2: Output -> printing for " & args.user)
var ee = initEventEmitter()
var eventargs: TPrintEventArgs
var eventargs: PrintEventArgs
eventargs.user = "ME\n"
##method one test
@@ -33,16 +33,16 @@ ee.emit("print", eventargs)
##method two test
type
TSomeObject = object of TObject
PrintEvent: TEventHandler
SomeObject = object of RootObj
printEvent: EventHandler
var obj: TSomeObject
obj.PrintEvent = initEventHandler("print")
obj.PrintEvent.addHandler(handleprintevent2)
var obj: SomeObject
obj.printEvent = initEventHandler("print")
obj.printEvent.addHandler(handleprintevent2)
ee.emit(obj.PrintEvent, eventargs)
ee.emit(obj.printEvent, eventargs)
obj.PrintEvent.removeHandler(handleprintevent2)
obj.printEvent.removeHandler(handleprintevent2)
ee.emit(obj.PrintEvent, eventargs)
ee.emit(obj.printEvent, eventargs)

View File

@@ -485,7 +485,7 @@ proc writeformat(o: var Writer; b: bool; fmt: Format) =
else:
raise newException(FormatError, "Boolean values must of one of the following types: s,b,o,x,X,d,n")
proc writeformat(o: var Writer; ary: openarray[any]; fmt: Format) =
proc writeformat(o: var Writer; ary: openarray[system.any]; fmt: Format) =
## Write array `ary` according to format `fmt` using output object
## `o` and output function `add`.
if ary.len == 0: return