cleanup index generation
This commit is contained in:
parent
eec18896b7
commit
c2da0e9b3d
8 changed files with 71 additions and 37 deletions
27
tests/objects/trefobjsyntax.nim
Normal file
27
tests/objects/trefobjsyntax.nim
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
discard """
|
||||
output: '''wohoo
|
||||
baz'''
|
||||
"""
|
||||
|
||||
# Test to ensure the popular 'ref T' syntax works everywhere
|
||||
|
||||
type
|
||||
Foo = object
|
||||
a, b: int
|
||||
s: string
|
||||
|
||||
FooBar = object of RootObj
|
||||
n, m: string
|
||||
Baz = object of FooBar
|
||||
|
||||
proc invoke(a: ref Baz) =
|
||||
echo "baz"
|
||||
|
||||
# check object construction:
|
||||
let x = (ref Foo)(a: 0, b: 45, s: "wohoo")
|
||||
echo x.s
|
||||
|
||||
var y: ref FooBar = (ref Baz)(n: "n", m: "m")
|
||||
|
||||
invoke((ref Baz)(y))
|
||||
|
||||
27
tests/objvariant/treassign.nim
Normal file
27
tests/objvariant/treassign.nim
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
discard """
|
||||
output: "SUCCESS"
|
||||
"""
|
||||
|
||||
type
|
||||
BasicNumber = object of RootObj
|
||||
value: float32
|
||||
RefChild* = ref object
|
||||
curr*: TokenObject
|
||||
Token* {.pure.} = enum
|
||||
foo,
|
||||
bar,
|
||||
TokenObject = object
|
||||
case kind*: Token
|
||||
of Token.foo:
|
||||
foo*: string
|
||||
of Token.bar:
|
||||
bar*: BasicNumber
|
||||
|
||||
|
||||
var t = RefChild()
|
||||
|
||||
t.curr = TokenObject(kind: Token.bar, bar: BasicNumber(value: 12.34))
|
||||
|
||||
t.curr = TokenObject(kind: Token.foo, foo: "foo")
|
||||
|
||||
echo "SUCCESS"
|
||||
Loading…
Add table
Add a link
Reference in a new issue