code cleanup: there is no tyOptRef
This commit is contained in:
parent
15c208cd29
commit
721bf7188b
14 changed files with 36 additions and 47 deletions
|
|
@ -104,19 +104,6 @@ proc genericAssignAux(dest, src: pointer, mt: PNimType, shallow: bool) =
|
|||
cast[pointer](s +% i *% mt.base.size), mt.base, shallow)
|
||||
of tyRef:
|
||||
unsureAsgnRef(cast[PPointer](dest), cast[PPointer](s)[])
|
||||
of tyOptAsRef:
|
||||
let s2 = cast[PPointer](src)[]
|
||||
let d = cast[PPointer](dest)
|
||||
if s2 == nil:
|
||||
unsureAsgnRef(d, s2)
|
||||
else:
|
||||
when declared(usrToCell):
|
||||
let realType = usrToCell(s2).typ
|
||||
else:
|
||||
let realType = if mt.base.kind == tyObject: cast[ptr PNimType](s2)[]
|
||||
else: mt.base
|
||||
var z = newObj(realType, realType.base.size)
|
||||
genericAssignAux(d, addr z, mt.base, shallow)
|
||||
else:
|
||||
copyMem(dest, src, mt.size) # copy raw bits
|
||||
|
||||
|
|
@ -143,7 +130,6 @@ when false:
|
|||
of tyPtr: k = "ptr"
|
||||
of tyRef: k = "ref"
|
||||
of tyVar: k = "var"
|
||||
of tyOptAsRef: k = "optref"
|
||||
of tySequence: k = "seq"
|
||||
of tyProc: k = "proc"
|
||||
of tyPointer: k = "range"
|
||||
|
|
@ -219,7 +205,7 @@ proc genericReset(dest: pointer, mt: PNimType) =
|
|||
var d = cast[ByteAddress](dest)
|
||||
sysAssert(mt != nil, "genericReset 2")
|
||||
case mt.kind
|
||||
of tyString, tyRef, tyOptAsRef, tySequence:
|
||||
of tyString, tyRef, tySequence:
|
||||
unsureAsgnRef(cast[PPointer](dest), nil)
|
||||
of tyTuple:
|
||||
genericResetAux(dest, mt.node)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue