[refactoring] refactor the compiler and stdlib to deprecation warnings (#11419)
This commit is contained in:
parent
3d13103443
commit
c7e1c665a1
7 changed files with 52 additions and 44 deletions
|
|
@ -3646,21 +3646,21 @@ when not defined(JS): #and not defined(nimscript):
|
|||
const GenericSeqSize = (2 * sizeof(int))
|
||||
|
||||
when not defined(nimV2):
|
||||
proc getDiscriminant(aa: pointer, n: ptr TNimNode): int =
|
||||
proc getDiscriminant(aa: pointer, n: ptr TNimNode): uint =
|
||||
sysAssert(n.kind == nkCase, "getDiscriminant: node != nkCase")
|
||||
var d: int
|
||||
var a = cast[ByteAddress](aa)
|
||||
var d: uint
|
||||
var a = cast[uint](aa)
|
||||
case n.typ.size
|
||||
of 1: d = ze(cast[ptr int8](a +% n.offset)[])
|
||||
of 2: d = ze(cast[ptr int16](a +% n.offset)[])
|
||||
of 4: d = int(cast[ptr int32](a +% n.offset)[])
|
||||
of 8: d = int(cast[ptr int64](a +% n.offset)[])
|
||||
of 1: d = uint(cast[ptr uint8](a + uint(n.offset))[])
|
||||
of 2: d = uint(cast[ptr uint16](a + uint(n.offset))[])
|
||||
of 4: d = uint(cast[ptr uint32](a + uint(n.offset))[])
|
||||
of 8: d = uint(cast[ptr uint64](a + uint(n.offset))[])
|
||||
else: sysAssert(false, "getDiscriminant: invalid n.typ.size")
|
||||
return d
|
||||
|
||||
proc selectBranch(aa: pointer, n: ptr TNimNode): ptr TNimNode =
|
||||
var discr = getDiscriminant(aa, n)
|
||||
if discr <% n.len:
|
||||
if discr < cast[uint](n.len):
|
||||
result = n.sons[discr]
|
||||
if result == nil: result = n.sons[n.len]
|
||||
# n.sons[n.len] contains the ``else`` part (but may be nil)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue