Files
hank/hank-godot/scripts/CallStack.gd
Nat Quayle Nelson 8caad092be
Some checks failed
/ test (push) Failing after 8s
Generate GDScript
2025-10-30 19:19:36 -05:00

144 lines
3.2 KiB
GDScript

class_name haxe__CallStack_CallStack_Impl_
func _init() -> void:
pass
static func callStack() -> Array[Variant]:
return haxe_NativeStackTrace.toHaxe(haxe_NativeStackTrace.callStack())
static func exceptionStack(fullStack: bool = false) -> Array[Variant]:
var eStack: Array[Variant] = haxe_NativeStackTrace.toHaxe(haxe_NativeStackTrace.exceptionStack())
var tempCallStack
if (fullStack):
tempCallStack = eStack
else:
tempCallStack = haxe__CallStack_CallStack_Impl_.subtract(eStack, haxe__CallStack_CallStack_Impl_.callStack())
var this1: Array[Variant] = tempCallStack
return this1
static func subtract(this1: Array[Variant], stack: Array[Variant]) -> Array[Variant]:
var startIndex: int = -1
var i: int = -1
while true:
var tempLeft
i += 1
tempLeft = i
if !(tempLeft < this1.size()):
break
var _g: int = 0
var _g1: int = stack.size()
while (_g < _g1):
var tempNumber
_g += 1
tempNumber = _g - 1
var j: int = tempNumber
if (haxe__CallStack_CallStack_Impl_.equalItems(this1[i], stack[j])):
if (startIndex < 0):
startIndex = i
i += 1
if (i >= this1.size()):
break
else:
startIndex = -1
if (startIndex >= 0):
break
var tempResult
if (startIndex >= 0):
tempResult = this1.slice(0, startIndex)
else:
tempResult = this1
return tempResult
static func equalItems(item1, item2) -> bool:
var tempResult
if (item1 == null):
if (item2 == null):
tempResult = true
else:
tempResult = false
else:
match (item1._index):
0:
if (item2 == null):
tempResult = false
else:
if (item2._index == 0):
tempResult = true
else:
tempResult = false
1:
var _g: String = item1.m
if (item2 == null):
tempResult = false
else:
if (item2._index == 1):
var _g1: String = item2.m
var m2: String = _g1
var m1: String = _g
tempResult = m1 == m2
else:
tempResult = false
2:
var _g = item1.s
var _g1: String = item1.file
var _g2: int = item1.line
var _g3 = item1.column
if (item2 == null):
tempResult = false
else:
if (item2._index == 2):
var _g4 = item2.s
var _g5: String = item2.file
var _g6: int = item2.line
var _g7 = item2.column
var item3 = _g4
var file2: String = _g5
var line2: int = _g6
var col2 = _g7
var col1 = _g3
var line1: int = _g2
var file1: String = _g1
var item4 = _g
tempResult = file1 == file2 && line1 == line2 && col1 == col2 && haxe__CallStack_CallStack_Impl_.equalItems(item4, item3)
else:
tempResult = false
3:
var _g = item1.classname
var _g1: String = item1.method
if (item2 == null):
tempResult = false
else:
if (item2._index == 3):
var _g2 = item2.classname
var _g3: String = item2.method
var class2 = _g2
var method2: String = _g3
var method1: String = _g1
var class1 = _g
tempResult = class1 == class2 && method1 == method2
else:
tempResult = false
4:
var _g = item1.v
if (item2 == null):
tempResult = false
else:
if (item2._index == 4):
var _g1 = item2.v
var v2 = _g1
var v1 = _g
tempResult = v1 == v2
else:
tempResult = false
return tempResult