Skip to content

Commit 4aa73bb

Browse files
committed
do_enum() now returns a JavaEnum object
With a constant name and class description
1 parent 5a4228b commit 4aa73bb

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

javaobj.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -909,18 +909,20 @@ def do_enum(self, parent=None, ident=0):
909909
910910
:param parent:
911911
:param ident: Log indentation level
912-
:return: An enumeration name
912+
:return: A JavaEnum object
913913
"""
914914
# TC_ENUM classDesc newHandle enumConstantName
915-
enum = JavaObject()
916-
_, _ = self._read_and_exec_opcode(
917-
ident=ident + 1, expect=(self.TC_CLASSDESC,
918-
self.TC_PROXYCLASSDESC,
919-
self.TC_NULL, self.TC_REFERENCE))
920-
self._add_reference(enum)
915+
enum = JavaEnum()
916+
_, classdesc = self._read_and_exec_opcode(
917+
ident=ident + 1,
918+
expect=(self.TC_CLASSDESC, self.TC_PROXYCLASSDESC,
919+
self.TC_NULL, self.TC_REFERENCE))
920+
enum.classdesc = classdesc
921+
self._add_reference(enum, ident)
921922
_, enumConstantName = self._read_and_exec_opcode(
922923
ident=ident + 1, expect=(self.TC_STRING, self.TC_REFERENCE))
923-
return enumConstantName
924+
enum.constant = enumConstantName
925+
return enum
924926

925927
@staticmethod
926928
def _create_hexdump(src, length=16):

0 commit comments

Comments
 (0)