diff options
Diffstat (limited to 'tests/manyloc/keineschweine/dependencies')
7 files changed, 68 insertions, 359 deletions
diff --git a/tests/manyloc/keineschweine/dependencies/chipmunk/chipmunk.nim b/tests/manyloc/keineschweine/dependencies/chipmunk/chipmunk.nim index ac425c7a0..6eb1b3844 100644 --- a/tests/manyloc/keineschweine/dependencies/chipmunk/chipmunk.nim +++ b/tests/manyloc/keineschweine/dependencies/chipmunk/chipmunk.nim @@ -106,7 +106,7 @@ type #/ Collision begin event function callback type. #/ Returning false from a begin callback causes the collision to be ignored until - #/ the the separate callback is called when the objects stop colliding. + #/ the separate callback is called when the objects stop colliding. TCollisionBeginFunc* = proc (arb: PArbiter; space: PSpace; data: pointer): bool{. cdecl.} #/ Collision pre-solve event function callback type. @@ -455,7 +455,7 @@ proc removeCollisionHandler*(space: PSpace; a: TCollisionType; #/ If the shape is attached to a static body, it will be added as a static shape. proc addShape*(space: PSpace; shape: PShape): PShape{. cdecl, importc: "cpSpaceAddShape", dynlib: Lib.} -#/ Explicity add a shape as a static shape to the simulation. +#/ Explicitly add a shape as a static shape to the simulation. proc addStaticShape*(space: PSpace; shape: PShape): PShape{. cdecl, importc: "cpSpaceAddStaticShape", dynlib: Lib.} #/ Add a rigid body to the simulation. @@ -1028,12 +1028,12 @@ proc getCircleRadius*(shape: PShape): CpFloat {. proc allocPolyShape*(): PPolyShape {. cdecl, importc: "cpPolyShapeAlloc", dynlib: Lib.} #/ Initialize a polygon shape. -#/ A convex hull will be created from the vertexes. +#/ A convex hull will be created from the vertices. proc init*(poly: PPolyShape; body: PBody, numVerts: cint; verts: ptr TVector; offset: TVector): PPolyShape {. cdecl, importc: "cpPolyShapeInit", dynlib: Lib.} #/ Allocate and initialize a polygon shape. -#/ A convex hull will be created from the vertexes. +#/ A convex hull will be created from the vertices. proc newPolyShape*(body: PBody; numVerts: cint; verts: ptr TVector; offset: TVector): PShape {. cdecl, importc: "cpPolyShapeNew", dynlib: Lib.} @@ -1050,7 +1050,7 @@ proc newBoxShape*(body: PBody; width, height: CpFloat): PShape {. proc newBoxShape*(body: PBody; box: TBB): PShape {. cdecl, importc: "cpBoxShapeNew2", dynlib: Lib.} -#/ Check that a set of vertexes is convex and has a clockwise winding. +#/ Check that a set of vertices is convex and has a clockwise winding. #/ NOTE: Due to floating point precision issues, hulls created with cpQuickHull() are not guaranteed to validate! proc validatePoly*(verts: ptr TVector; numVerts: cint): bool {. cdecl, importc: "cpPolyValidate", dynlib: Lib.} diff --git a/tests/manyloc/keineschweine/dependencies/enet/enet.nim b/tests/manyloc/keineschweine/dependencies/enet/enet.nim index 07079f2ea..5dee6ae9c 100644 --- a/tests/manyloc/keineschweine/dependencies/enet/enet.nim +++ b/tests/manyloc/keineschweine/dependencies/enet/enet.nim @@ -79,10 +79,10 @@ type PPacket* = ptr TPacket TPacket*{.pure, final.} = object - referenceCount: csize + referenceCount: csize_t flags*: cint data*: cstring#ptr cuchar - dataLength*: csize + dataLength*: csize_t freeCallback*: TPacketFreeCallback PAcknowledgement* = ptr TAcknowledgement @@ -265,7 +265,7 @@ const ENET_PEER_RELIABLE_WINDOW_SIZE = 0x1000 ENET_PEER_FREE_RELIABLE_WINDOWS = 8 -when defined(Linux) or true: +when defined(linux) or true: import posix const ENET_SOCKET_NULL*: cint = -1 @@ -274,7 +274,7 @@ when defined(Linux) or true: PEnetBuffer* = ptr object TENetBuffer*{.pure, final.} = object data*: pointer - dataLength*: csize + dataLength*: csize_t TENetSocketSet* = Tfd_set ## see if these are different on win32, if not then get rid of these template ENET_HOST_TO_NET_16*(value: untyped): untyped = @@ -295,7 +295,7 @@ when defined(Linux) or true: template ENET_SOCKETSET_CHECK*(sockset, socket: untyped): untyped = FD_ISSET(socket, addr((sockset))) -when defined(Windows): +when defined(windows): ## put the content of win32.h in here @@ -324,7 +324,7 @@ type data*: pointer state*: TPeerState channels*: PChannel - channelCount*: csize + channelCount*: csize_t incomingBandwidth*: cuint outgoingBandwidth*: cuint incomingBandwidthThrottleEpoch*: cuint @@ -374,13 +374,13 @@ type TCompressor*{.pure, final.} = object context*: pointer compress*: proc (context: pointer; inBuffers: ptr TEnetBuffer; - inBufferCount: csize; inLimit: csize; - outData: ptr cuchar; outLimit: csize): csize{.cdecl.} - decompress*: proc (context: pointer; inData: ptr cuchar; inLimit: csize; - outData: ptr cuchar; outLimit: csize): csize{.cdecl.} + inBufferCount: csize_t; inLimit: csize_t; + outData: ptr cuchar; outLimit: csize_t): csize_t{.cdecl.} + decompress*: proc (context: pointer; inData: ptr cuchar; inLimit: csize_t; + outData: ptr cuchar; outLimit: csize_t): csize_t{.cdecl.} destroy*: proc (context: pointer){.cdecl.} - TChecksumCallback* = proc (buffers: ptr TEnetBuffer; bufferCount: csize): cuint{. + TChecksumCallback* = proc (buffers: ptr TEnetBuffer; bufferCount: csize_t): cuint{. cdecl.} PHost* = ptr THost @@ -394,25 +394,25 @@ type randomSeed*: cuint recalculateBandwidthLimits*: cint peers*: ptr TPeer - peerCount*: csize - channelLimit*: csize + peerCount*: csize_t + channelLimit*: csize_t serviceTime*: cuint dispatchQueue*: TEnetList continueSending*: cint - packetSize*: csize + packetSize*: csize_t headerFlags*: cushort commands*: array[0..ENET_PROTOCOL_MAXIMUM_PACKET_COMMANDS - 1, TEnetProtocol] - commandCount*: csize + commandCount*: csize_t buffers*: array[0..ENET_BUFFER_MAXIMUM - 1, TEnetBuffer] - bufferCount*: csize + bufferCount*: csize_t checksum*: TChecksumCallback compressor*: TCompressor packetData*: array[0..ENET_PROTOCOL_MAXIMUM_MTU - 1, array[0..2 - 1, cuchar]] receivedAddress*: TAddress receivedData*: ptr cuchar - receivedDataLength*: csize + receivedDataLength*: csize_t totalSentData*: cuint totalSentPackets*: cuint totalReceivedData*: cuint @@ -430,12 +430,12 @@ type packet*: ptr TPacket TENetCallbacks*{.pure, final.} = object - malloc*: proc (size: csize): pointer{.cdecl.} + malloc*: proc (size: csize_t): pointer{.cdecl.} free*: proc (memory: pointer){.cdecl.} no_memory*: proc (){.cdecl.} {.push callConv:cdecl.} -proc enet_malloc*(a2: csize): pointer{. +proc enet_malloc*(a2: csize_t): pointer{. importc: "enet_malloc", dynlib: Lib.} proc enet_free*(a2: pointer){. importc: "enet_free", dynlib: Lib.} @@ -468,15 +468,15 @@ proc connect*(socket: TEnetSocket; address: var TAddress): cint{. importc: "enet_socket_connect", dynlib: Lib.} proc connect*(socket: TEnetSocket; address: ptr TAddress): cint{. importc: "enet_socket_connect", dynlib: Lib.} -proc send*(socket: TEnetSocket; address: var TAddress; buffer: ptr TEnetBuffer; size: csize): cint{. +proc send*(socket: TEnetSocket; address: var TAddress; buffer: ptr TEnetBuffer; size: csize_t): cint{. importc: "enet_socket_send", dynlib: Lib.} -proc send*(socket: TEnetSocket; address: ptr TAddress; buffer: ptr TEnetBuffer; size: csize): cint{. +proc send*(socket: TEnetSocket; address: ptr TAddress; buffer: ptr TEnetBuffer; size: csize_t): cint{. importc: "enet_socket_send", dynlib: Lib.} proc receive*(socket: TEnetSocket; address: var TAddress; - buffer: ptr TEnetBuffer; size: csize): cint{. + buffer: ptr TEnetBuffer; size: csize_t): cint{. importc: "enet_socket_receive", dynlib: Lib.} proc receive*(socket: TEnetSocket; address: ptr TAddress; - buffer: ptr TEnetBuffer; size: csize): cint{. + buffer: ptr TEnetBuffer; size: csize_t): cint{. importc: "enet_socket_receive", dynlib: Lib.} proc wait*(socket: TEnetSocket; a3: ptr cuint; a4: cuint): cint{. importc: "enet_socket_wait", dynlib: Lib.} @@ -492,42 +492,42 @@ proc setHost*(address: PAddress; hostName: cstring): cint{. importc: "enet_address_set_host", dynlib: Lib.} proc setHost*(address: var TAddress; hostName: cstring): cint{. importc: "enet_address_set_host", dynlib: Lib.} -proc getHostIP*(address: var TAddress; hostName: cstring; nameLength: csize): cint{. +proc getHostIP*(address: var TAddress; hostName: cstring; nameLength: csize_t): cint{. importc: "enet_address_get_host_ip", dynlib: Lib.} -proc getHost*(address: var TAddress; hostName: cstring; nameLength: csize): cint{. +proc getHost*(address: var TAddress; hostName: cstring; nameLength: csize_t): cint{. importc: "enet_address_get_host", dynlib: Lib.} ## Call the above two funcs but trim the result string -proc getHostIP*(address: var TAddress; hostName: var string; nameLength: csize): cint{.inline.} = +proc getHostIP*(address: var TAddress; hostName: var string; nameLength: csize_t): cint{.inline.} = hostName.setLen nameLength result = getHostIP(address, cstring(hostName), nameLength) if result == 0: hostName.setLen(len(cstring(hostName))) -proc getHost*(address: var TAddress; hostName: var string; nameLength: csize): cint{.inline.} = +proc getHost*(address: var TAddress; hostName: var string; nameLength: csize_t): cint{.inline.} = hostName.setLen nameLength result = getHost(address, cstring(hostName), nameLength) if result == 0: hostName.setLen(len(cstring(hostName))) -proc createPacket*(data: pointer; len: csize; flag: TPacketFlag): PPacket{. +proc createPacket*(data: pointer; len: csize_t; flag: TPacketFlag): PPacket{. importc: "enet_packet_create", dynlib: Lib.} proc destroy*(packet: PPacket){. importc: "enet_packet_destroy", dynlib: Lib.} -proc resize*(packet: PPacket; dataLength: csize): cint{. +proc resize*(packet: PPacket; dataLength: csize_t): cint{. importc: "enet_packet_resize", dynlib: Lib.} -proc crc32*(buffers: ptr TEnetBuffer; bufferCount: csize): cuint{. +proc crc32*(buffers: ptr TEnetBuffer; bufferCount: csize_t): cuint{. importc: "enet_crc32", dynlib: Lib.} -proc createHost*(address: ptr TAddress; maxConnections, maxChannels: csize; downSpeed, upSpeed: cuint): PHost{. +proc createHost*(address: ptr TAddress; maxConnections, maxChannels: csize_t; downSpeed, upSpeed: cuint): PHost{. importc: "enet_host_create", dynlib: Lib.} -proc createHost*(address: var TAddress; maxConnections, maxChannels: csize; downSpeed, upSpeed: cuint): PHost{. +proc createHost*(address: var TAddress; maxConnections, maxChannels: csize_t; downSpeed, upSpeed: cuint): PHost{. importc: "enet_host_create", dynlib: Lib.} proc destroy*(host: PHost){. importc: "enet_host_destroy", dynlib: Lib.} -proc connect*(host: PHost; address: ptr TAddress; channelCount: csize; data: cuint): PPeer{. +proc connect*(host: PHost; address: ptr TAddress; channelCount: csize_t; data: cuint): PPeer{. importc: "enet_host_connect", dynlib: Lib.} -proc connect*(host: PHost; address: var TAddress; channelCount: csize; data: cuint): PPeer{. +proc connect*(host: PHost; address: var TAddress; channelCount: csize_t; data: cuint): PPeer{. importc: "enet_host_connect", dynlib: Lib.} proc checkEvents*(host: PHost; event: var TEvent): cint{. @@ -546,7 +546,7 @@ proc compress*(host: PHost; compressor: PCompressor){. importc: "enet_host_compress", dynlib: Lib.} proc compressWithRangeCoder*(host: PHost): cint{. importc: "enet_host_compress_with_range_coder", dynlib: Lib.} -proc channelLimit*(host: PHost; channelLimit: csize){. +proc channelLimit*(host: PHost; channelLimit: csize_t){. importc: "enet_host_channel_limit", dynlib: Lib.} proc bandwidthLimit*(host: PHost; incoming, outgoing: cuint){. importc: "enet_host_bandwidth_limit", dynlib: Lib.} @@ -596,12 +596,12 @@ proc createRangeCoder*(): pointer{. proc rangeCoderDestroy*(context: pointer){. importc: "enet_range_coder_destroy", dynlib: Lib.} proc rangeCoderCompress*(context: pointer; inBuffers: PEnetBuffer; inLimit, - bufferCount: csize; outData: cstring; outLimit: csize): csize{. + bufferCount: csize_t; outData: cstring; outLimit: csize_t): csize_t{. importc: "enet_range_coder_compress", dynlib: Lib.} -proc rangeCoderDecompress*(context: pointer; inData: cstring; inLimit: csize; - outData: cstring; outLimit: csize): csize{. +proc rangeCoderDecompress*(context: pointer; inData: cstring; inLimit: csize_t; + outData: cstring; outLimit: csize_t): csize_t{. importc: "enet_range_coder_decompress", dynlib: Lib.} -proc protocolCommandSize*(commandNumber: cuchar): csize{. +proc protocolCommandSize*(commandNumber: cuchar): csize_t{. importc: "enet_protocol_command_size", dynlib: Lib.} {.pop.} @@ -609,4 +609,3 @@ proc protocolCommandSize*(commandNumber: cuchar): csize{. from hashes import `!$`, `!&`, Hash, hash proc hash*(x: TAddress): Hash {.nimcall, noSideEffect.} = result = !$(hash(x.host.int32) !& hash(x.port.int16)) - diff --git a/tests/manyloc/keineschweine/dependencies/genpacket/genpacket.nim b/tests/manyloc/keineschweine/dependencies/genpacket/genpacket.nim deleted file mode 100644 index 3026cc4b9..000000000 --- a/tests/manyloc/keineschweine/dependencies/genpacket/genpacket.nim +++ /dev/null @@ -1,295 +0,0 @@ -import macros, macro_dsl, streams, streams_enh -from strutils import format - -template newLenName(): stmt {.immediate.} = - let lenName {.inject.} = ^("len"& $lenNames) - inc(lenNames) - -template defPacketImports*(): stmt {.immediate, dirty.} = - import macros, macro_dsl, streams, streams_enh - from strutils import format - -proc `$`*[T](x: seq[T]): string = - result = "[seq len=" - result.add($x.len) - result.add ':' - for i in 0.. <len(x): - result.add " " - result.add($x[i]) - result.add ']' - -macro defPacket*(typeNameN: expr, typeFields: expr): stmt {.immediate.} = - result = newNimNode(nnkStmtList) - let - typeName = quoted2ident(typeNameN) - packetID = ^"p" - streamID = ^"s" - var - constructorParams = newNimNode(nnkFormalParams).und(typeName) - constructor = newNimNode(nnkProcDef).und( - postfix(^("new"& $typeName.ident), "*"), - emptyNode(), - emptyNode(), - constructorParams, - emptyNode(), - emptyNode()) - pack = newNimNode(nnkProcDef).und( - postfix(^"pack", "*"), - emptyNode(), - emptyNode(), - newNimNode(nnkFormalParams).und( - emptyNode(), # : void - newNimNode(nnkIdentDefs).und( - packetID, # p: var typeName - newNimNode(nnkVarTy).und(typeName), - emptyNode()), - newNimNode(nnkIdentDefs).und( - streamID, # s: PStream - ^"PStream", - newNimNode(nnkNilLit))), - emptyNode(), - emptyNode()) - read = newNimNode(nnkProcDef).und( - newIdentNode("read"& $typeName.ident).postfix("*"), - emptyNode(), - emptyNode(), - newNimNode(nnkFormalParams).und( - typeName, #result type - newNimNode(nnkIdentDefs).und( - streamID, # s: PStream = nil - ^"PStream", - newNimNode(nnkNilLit))), - emptyNode(), - emptyNode()) - constructorBody = newNimNode(nnkStmtList) - packBody = newNimNode(nnkStmtList) - readBody = newNimNode(nnkStmtList) - lenNames = 0 - for i in 0.. typeFields.len - 1: - let - name = typeFields[i][0] - dotName = packetID.dot(name) - resName = newIdentNode(!"result").dot(name) - case typeFields[i][1].kind - of nnkBracketExpr: #ex: paddedstring[32, '\0'], array[range, type] - case $typeFields[i][1][0].ident - of "paddedstring": - let length = typeFields[i][1][1] - let padChar = typeFields[i][1][2] - packBody.add(newCall( - "writePaddedStr", streamID, dotName, length, padChar)) - ## result.name = readPaddedStr(s, length, char) - readBody.add(resName := newCall( - "readPaddedStr", streamID, length, padChar)) - ## make the type a string - typeFields[i] = newNimNode(nnkIdentDefs).und( - name, - ^"string", - newNimNode(nnkEmpty)) - of "array": - readBody.add( - newNimNode(nnkDiscardStmt).und( - newCall("readData", streamID, newNimNode(nnkAddr).und(resName), newCall("sizeof", resName)))) - packBody.add( - newCall("writeData", streamID, newNimNode(nnkAddr).und(dotName), newCall("sizeof", dotName))) - of "seq": - ## let lenX = readInt16(s) - newLenName() - let - item = ^"item" ## item name in our iterators - seqType = typeFields[i][1][1] ## type of seq - readName = newIdentNode("read"& $seqType.ident) - readBody.add(newNimNode(nnkLetSection).und( - newNimNode(nnkIdentDefs).und( - lenName, - newNimNode(nnkEmpty), - newCall("readInt16", streamID)))) - readBody.add( ## result.name = @[] - resName := ("@".prefix(newNimNode(nnkBracket))), - newNimNode(nnkForStmt).und( ## for item in 1..len: - item, - infix(1.lit, "..", lenName), - newNimNode(nnkStmtList).und( - newCall( ## add(result.name, unpack[seqType](stream)) - "add", resName, newNimNode(nnkCall).und(readName, streamID) - ) ) ) ) - packbody.add( - newNimNode(nnkVarSection).und(newNimNode(nnkIdentDefs).und( - lenName, ## var lenName = int16(len(p.name)) - newIdentNode("int16"), - newCall("int16", newCall("len", dotName)))), - newCall("writeData", streamID, newNimNode(nnkAddr).und(lenName), 2.lit), - newNimNode(nnkForStmt).und( ## for item in 0..length - 1: pack(p.name[item], stream) - item, - infix(0.lit, "..", infix(lenName, "-", 1.lit)), - newNimNode(nnkStmtList).und( - newCall("echo", item, ": ".lit), - newCall("pack", dotName[item], streamID)))) - #set the default value to @[] (new sequence) - typeFields[i][2] = "@".prefix(newNimNode(nnkBracket)) - else: - error("Unknown type: "& treeRepr(typeFields[i])) - of nnkIdent: ##normal type - case $typeFields[i][1].ident - of "string": # length encoded string - packBody.add(newCall("writeLEStr", streamID, dotName)) - readBody.add(resName := newCall("readLEStr", streamID)) - of "int8", "int16", "int32", "float32", "float64", "char", "bool": - packBody.add(newCall( - "writeData", streamID, newNimNode(nnkAddr).und(dotName), newCall("sizeof", dotName))) - readBody.add(resName := newCall("read"& $typeFields[i][1].ident, streamID)) - else: ## hopefully the type you specified was another defpacket() type - packBody.add(newCall("pack", dotName, streamID)) - readBody.add(resName := newCall("read"& $typeFields[i][1].ident, streamID)) - else: - error("I dont know what to do with: "& treerepr(typeFields[i])) - - var - toStringFunc = newNimNode(nnkProcDef).und( - newNimNode(nnkPostfix).und( - ^"*", - newNimNode(nnkAccQuoted).und(^"$")), - emptyNode(), - emptyNode(), - newNimNode(nnkFormalParams).und( - ^"string", - newNimNode(nnkIdentDefs).und( - packetID, # p: typeName - typeName, - emptyNode())), - emptyNode(), - emptyNode(), - newNimNode(nnkStmtList).und(#[6] - newNimNode(nnkAsgn).und( - ^"result", ## result = - newNimNode(nnkCall).und(#[6][0][1] - ^"format", ## format - emptyNode())))) ## "[TypeName $1 $2]" - formatStr = "["& $typeName.ident - - const emptyFields = {nnkEmpty, nnkNilLit} - var objFields = newNimNode(nnkRecList) - for i in 0.. < len(typeFields): - let fname = typeFields[i][0] - constructorParams.add(newNimNode(nnkIdentDefs).und( - fname, - typeFields[i][1], - typeFields[i][2])) - constructorBody.add((^"result").dot(fname) := fname) - #export the name - typeFields[i][0] = fname.postfix("*") - if not(typeFields[i][2].kind in emptyFields): - ## empty the type default for the type def - typeFields[i][2] = newNimNode(nnkEmpty) - objFields.add(typeFields[i]) - toStringFunc[6][0][1].add( - prefix("$", packetID.dot(fname))) - formatStr.add " $" - formatStr.add($(i + 1)) - - formatStr.add ']' - toStringFunc[6][0][1][1] = formatStr.lit() - - result.add( - newNimNode(nnkTypeSection).und( - newNimNode(nnkTypeDef).und( - typeName.postfix("*"), - newNimNode(nnkEmpty), - newNimNode(nnkObjectTy).und( - newNimNode(nnkEmpty), #not sure what this is - newNimNode(nnkEmpty), #parent: OfInherit(Ident(!"SomeObj")) - objFields)))) - result.add(constructor.und(constructorBody)) - result.add(pack.und(packBody)) - result.add(read.und(readBody)) - result.add(toStringFunc) - when defined(GenPacketShowOutput): - echo(repr(result)) - -proc `->`(a: string, b: string): NimNode {.compileTime.} = - result = newNimNode(nnkIdentDefs).und(^a, ^b, newNimNode(nnkEmpty)) -proc `->`(a: string, b: NimNode): NimNode {.compileTime.} = - result = newNimNode(nnkIdentDefs).und(^a, b, newNimNode(nnkEmpty)) -proc `->`(a, b: NimNode): NimNode {.compileTime.} = - a[2] = b - result = a - -proc newProc*(name: string, params: varargs[NimNode], resultType: NimNode): NimNode {.compileTime.} = - result = newNimNode(nnkProcDef).und( - ^name, - emptyNode(), - emptyNode(), - newNimNode(nnkFormalParams).und(resultType), - emptyNode(), - emptyNode(), - newNimNode(nnkStmtList)) - result[3].add(params) -macro forwardPacket*(typeName: expr, underlyingType: typedesc): stmt {.immediate.} = - result = newNimNode(nnkStmtList).und( - newProc( - "read"& $typeName.ident, - ["s" -> "PStream" -> newNimNode(nnkNilLit)], - typeName), - newProc( - "pack", - [ "p" -> newNimNode(nnkVarTy).und(typeName), - "s" -> "PStream" -> newNimNode(nnkNilLit)], - emptyNode())) - result[0][6].add(newNimNode(nnkDiscardStmt).und( - newCall( - "readData", ^"s", newNimNode(nnkAddr).und(^"result"), newCall("sizeof", ^"result") - ))) - result[1][6].add( - newCall( - "writeData", ^"s", newNimNode(nnkAddr).und(^"p"), newCall( - "sizeof", ^"p"))) - when defined(GenPacketShowOutput): - echo(repr(result)) - -template forwardPacketT*(typeName: expr): stmt {.dirty, immediate.} = - proc `read typeName`*(s: PStream): typeName = - discard readData(s, addr result, sizeof(result)) - proc `pack typeName`*(p: var typeName; s: PStream) = - writeData(s, addr p, sizeof(p)) - -when isMainModule: - type - SomeEnum = enum - A = 0'i8, - B, C - forwardPacket(SomeEnum, int8) - - - defPacket(Foo, tuple[x: array[0..4, int8]]) - var f = newFoo([4'i8, 3'i8, 2'i8, 1'i8, 0'i8]) - var s2 = newStringStream("") - f.pack(s2) - assert s2.data == "\4\3\2\1\0" - - var s = newStringStream() - s.flushImpl = proc(s: PStream) = - var z = PStringStream(s) - z.setPosition(0) - z.data.setLen(0) - - - s.setPosition(0) - s.data.setLen(0) - var o = B - o.pack(s) - o = A - o.pack(s) - o = C - o.pack(s) - assert s.data == "\1\0\2" - s.flush - - defPacket(Y, tuple[z: int8]) - proc `$`(z: Y): string = result = "Y("& $z.z &")" - defPacket(TestPkt, tuple[x: seq[Y]]) - var test = newTestPkt() - test.x.add([newY(5), newY(4), newY(3), newY(2), newY(1)]) - for itm in test.x: - echo(itm) - test.pack(s) - echo(repr(s.data)) diff --git a/tests/manyloc/keineschweine/dependencies/genpacket/genpacket_enet.nim b/tests/manyloc/keineschweine/dependencies/genpacket/genpacket_enet.nim index 3fb4dc7d9..d91f1cb35 100644 --- a/tests/manyloc/keineschweine/dependencies/genpacket/genpacket_enet.nim +++ b/tests/manyloc/keineschweine/dependencies/genpacket/genpacket_enet.nim @@ -2,7 +2,7 @@ import macros, macro_dsl, estreams from strutils import format template newLenName() = - let lenName {.inject.} = ^("len"& $lenNames) + let lenName {.inject.} = ^("len" & $lenNames) inc(lenNames) template defPacketImports*() {.dirty.} = @@ -18,7 +18,7 @@ macro defPacket*(typeNameN: untyped, typeFields: untyped): untyped = var constructorParams = newNimNode(nnkFormalParams).und(typeName) constructor = newNimNode(nnkProcDef).und( - postfix(^("new"& $typeName.ident), "*"), + postfix(^("new" & $typeName.ident), "*"), emptyNode(), emptyNode(), constructorParams, @@ -41,7 +41,7 @@ macro defPacket*(typeNameN: untyped, typeFields: untyped): untyped = emptyNode(), emptyNode()) read = newNimNode(nnkProcDef).und( - newIdentNode("read"& $typeName.ident).postfix("*"), + newIdentNode("read" & $typeName.ident).postfix("*"), emptyNode(), emptyNode(), newNimNode(nnkFormalParams).und( @@ -70,7 +70,7 @@ macro defPacket*(typeNameN: untyped, typeFields: untyped): untyped = let item = ^"item" ## item name in our iterators seqType = typeFields[i][1][1] ## type of seq - readName = newIdentNode("read"& $seqType.ident) + readName = newIdentNode("read" & $seqType.ident) readBody.add(newNimNode(nnkLetSection).und( newNimNode(nnkIdentDefs).und( lenName, @@ -100,7 +100,7 @@ macro defPacket*(typeNameN: untyped, typeFields: untyped): untyped = #set the default value to @[] (new sequence) typeFields[i][2] = "@".prefix(newNimNode(nnkBracket)) else: - error("Unknown type: "& treeRepr(typeFields[i])) + error("Unknown type: " & treeRepr(typeFields[i])) of nnkIdent: ##normal type case $typeFields[i][1].ident of "string": # length encoded string @@ -109,12 +109,12 @@ macro defPacket*(typeNameN: untyped, typeFields: untyped): untyped = of "int8", "int16", "int32", "float32", "float64", "char", "bool": packBody.add(newCall( "writeBE", streamID, dotName)) - readBody.add(resName := newCall("read"& $typeFields[i][1].ident, streamID)) + readBody.add(resName := newCall("read" & $typeFields[i][1].ident, streamID)) else: ## hopefully the type you specified was another defpacket() type packBody.add(newCall("pack", streamID, dotName)) - readBody.add(resName := newCall("read"& $typeFields[i][1].ident, streamID)) + readBody.add(resName := newCall("read" & $typeFields[i][1].ident, streamID)) else: - error("I dont know what to do with: "& treerepr(typeFields[i])) + error("I don't know what to do with: " & treerepr(typeFields[i])) var toStringFunc = newNimNode(nnkProcDef).und( @@ -137,7 +137,7 @@ macro defPacket*(typeNameN: untyped, typeFields: untyped): untyped = newNimNode(nnkCall).und(# [6][0][1] ^"format", ## format emptyNode())))) ## "[TypeName $1 $2]" - formatStr = "["& $typeName.ident + formatStr = "[" & $typeName.ident const emptyFields = {nnkEmpty, nnkNilLit} var objFields = newNimNode(nnkRecList) @@ -206,7 +206,7 @@ macro forwardPacket*(typeName: untyped, underlyingType: untyped): untyped = streamID = ^"s" result = newNimNode(nnkStmtList).und( newProc( - (^("read"& $typeName.ident)).postfix("*"), + (^("read" & $typeName.ident)).postfix("*"), [ iddefs("s", "PBuffer", newNimNode(nnkNilLit)) ], typeName), newProc( @@ -244,7 +244,7 @@ template forwardPacketT*(typeName: untyped; underlyingType: untyped) {.dirty.} = #writeData(s, addr p, sizeof(p)) buffer.write(underlyingType(ord)) -when isMainModule: +when false: type SomeEnum = enum A = 0'i8, diff --git a/tests/manyloc/keineschweine/dependencies/genpacket/macro_dsl.nim b/tests/manyloc/keineschweine/dependencies/genpacket/macro_dsl.nim index 33d2a7177..3341f42c2 100644 --- a/tests/manyloc/keineschweine/dependencies/genpacket/macro_dsl.nim +++ b/tests/manyloc/keineschweine/dependencies/genpacket/macro_dsl.nim @@ -50,7 +50,7 @@ macro `?`(a: untyped): untyped = result = ($a[1].ident)[0].lit ## echo(?F,?a,?t,?t,?y) -when isMainModule: +when false: macro foo(x: untyped) = result = newNimNode(nnkStmtList) result.add(newNimNode(nnkCall).und(!!"echo", "Hello thar".lit)) diff --git a/tests/manyloc/keineschweine/dependencies/genpacket/streams_enh.nim b/tests/manyloc/keineschweine/dependencies/genpacket/streams_enh.nim index 5a1dffc93..a0c8a7a3c 100644 --- a/tests/manyloc/keineschweine/dependencies/genpacket/streams_enh.nim +++ b/tests/manyloc/keineschweine/dependencies/genpacket/streams_enh.nim @@ -1,7 +1,7 @@ import streams from strutils import repeat -proc readPaddedStr*(s: PStream, length: int, padChar = '\0'): TaintedString = +proc readPaddedStr*(s: PStream, length: int, padChar = '\0'): string = var lastChr = length result = s.readStr(length) while lastChr >= 0 and result[lastChr - 1] == padChar: dec(lastChr) @@ -16,7 +16,7 @@ proc writePaddedStr*(s: PStream, str: string, length: int, padChar = '\0') = else: s.write(str) -proc readLEStr*(s: PStream): TaintedString = +proc readLEStr*(s: PStream): string = var len = s.readInt16() result = s.readStr(len) @@ -24,7 +24,7 @@ proc writeLEStr*(s: PStream, str: string) = s.write(str.len.int16) s.write(str) -when isMainModule: +when true: var testStream = newStringStream() testStream.writeLEStr("Hello") diff --git a/tests/manyloc/keineschweine/dependencies/nake/nake.nim b/tests/manyloc/keineschweine/dependencies/nake/nake.nim index 5341c1079..36538097e 100644 --- a/tests/manyloc/keineschweine/dependencies/nake/nake.nim +++ b/tests/manyloc/keineschweine/dependencies/nake/nake.nim @@ -7,6 +7,10 @@ contents thereof. As said in the Olde Country, `Keepe it Gangster'.""" +#[ +xxx remove this? seems mostly duplicate of: tests/manyloc/nake/nake.nim +]# + import strutils, parseopt, tables, os type @@ -50,8 +54,8 @@ template withDir*(dir: string; body: stmt): stmt = body cd(curDir) -when isMainModule: - if not existsFile("nakefile.nim"): +when true: + if not fileExists("nakefile.nim"): echo "No nakefile.nim found. Current working dir is ", getCurrentDir() quit 1 var args = "" @@ -60,11 +64,12 @@ when isMainModule: args.add " " quit(shell("nim", "c", "-r", "nakefile.nim", args)) else: - addQuitProc(proc() {.noconv.} = + import std/exitprocs + addExitProc(proc() {.noconv.} = var task: string printTaskList: bool - for kind, key, val in getOpt(): + for kind, key, val in getopt(): case kind of cmdLongOption, cmdShortOption: case key.tolower |