Skip to content

Commit a2989dd

Browse files
committed
Add gdb-debughelpers HLRep for com.oracle.svm.espresso.classfile.descriptors.Symbol
1 parent 89c1619 commit a2989dd

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

substratevm/debug/gdbpy/gdb-debughelpers.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,21 @@ def HLRep(original_class):
831831
return original_class
832832

833833

834+
@HLRep
835+
class EspressoSymbol:
836+
target_type = 'com.oracle.svm.espresso.classfile.descriptors.Symbol'
837+
838+
def __init__(self, svm_util: SVMUtil, obj: gdb.Value):
839+
trace(f'<EspressoSymbol> - __init__({obj.type} @ {hex(svm_util.get_adr(obj))})')
840+
value = svm_util.get_obj_field(obj, 'value')
841+
self.__length = svm_util.get_int_field(value, 'len')
842+
self.__array = svm_util.get_obj_field(value, 'data', None)
843+
844+
def to_string(self) -> str:
845+
trace('<EspressoSymbol> - to_string')
846+
byte_list = [self.__array[i] for i in range(self.__length)]
847+
return f'EspressoSymbol({str(bytes(byte_list))})'
848+
834849
@HLRep
835850
class ArrayList:
836851
target_type = 'java.util.ArrayList'

0 commit comments

Comments
 (0)