Replace ~ with of

This commit is contained in:
Ruslan Mustakov 2017-09-14 11:04:34 +07:00
commit 77a8cf7815

View file

@ -287,17 +287,12 @@ proc `as`*[T: NimGodotObject](obj: NimGodotObject, t: typedesc[T]): T =
T.name & "\n" & getStackTrace())
result = nil
proc `~`*[T: NimGodotObject](obj: NimGodotObject,
t: typedesc[T]): bool {.inline.} =
## Godot-specific inheritance check. You must use this over Nim's standard
## ``of`` operator, because Nim does not know which object your script is
## attached to in runtime. For example, if you create a
## ``gdobj Bullet of Spatial`` and the ``Bullet`` is attached to a
## ``MeshInstance``, ``myBullet of MeshInstance`` will return ``false``, but
## ``myBullet ~ MeshInstance`` will return ``true``.
## This is going to be changed to ``of`` in later versions, when Nim starts
## supporting overloading ``of`` operator.
not obj.isNil and (obj of T or obj.linkedObject of T)
proc `of`*[T: NimGodotObject](obj: NimGodotObject,
t: typedesc[T]): bool {.inline.} =
## Godot-specific inheritance check.
not obj.isNil and (system.`of`(obj, T) or system.`of`(obj.linkedObject, T))
{.deprecated: [`~`: `of`].}
proc newRStrLit(s: string): NimNode {.compileTime.} =
result = newNimNode(nnkRStrLit)