javaclass

Change of bytecode.py

29:68fbab7e6269
bytecode.py
     1.1 --- a/bytecode.py	Thu Nov 11 15:24:21 2004 +0100
     1.2 +++ b/bytecode.py	Thu Nov 11 15:25:12 2004 +0100
     1.3 @@ -395,6 +395,10 @@
     1.4          self.position += 1
     1.5          self.update_stack_depth(-1)
     1.6  
     1.7 +    def unary_negative(self):
     1.8 +        self.output.append(opmap["UNARY_NEGATIVE"])
     1.9 +        self.position += 1
    1.10 +
    1.11      def compare_op(self, op):
    1.12          self.output.append(opmap["COMPARE_OP"])
    1.13          self.position += 1
    1.14 @@ -1263,7 +1267,8 @@
    1.15          count = len(target.get_descriptor()[0])
    1.16  
    1.17          # Check for the method name and invoke superclasses where appropriate.
    1.18 -        if str(self.method.get_python_name()) == "__init__":
    1.19 +        # NOTE: This may not be a sufficient test.
    1.20 +        if str(self.method.get_python_name()) == str(target_name):
    1.21              program.build_tuple(count + 1)  # Stack: tuple
    1.22              # Must use the actual class.
    1.23              # NOTE: Verify this.
    1.24 @@ -1288,6 +1293,7 @@
    1.25              program.pop_top()               # Stack:
    1.26              program.start_label("next2")
    1.27  
    1.28 +        # Initialisation outside an initialisation method.
    1.29          elif str(target_name) == "__init__":
    1.30              # NOTE: Due to changes with the new instruction's implementation, the
    1.31              # NOTE: stack differs from that stated: objectref, arg1, arg2, ...