class Interpreter: def __init__(self, initial_class, classpath): self.initial_class_name = initial_class self.vm = VM(classpath) def start(self): self.vm.class_loader.load_jar('klasses/rt.jar') self.vm.warmup() # initialise klass klass = self.vm.load_class(self.initial_class_name) self.vm.frame_stack[0].push('java') # run initial method self.vm.run_method(klass, klass.get_method('main', '([Ljava/lang/String;)V')[1]) self.vm.run_bytecode()
class Interpreter: def __init__(self, initial_class, classpath): self.initial_class_name = initial_class self.vm = VM(classpath) def start(self): self.vm.class_loader.load_jar('klasses/rt.jar') self.vm.warmup() # initialise klass klass = self.vm.load_class(self.initial_class_name) self.vm.frame_stack[0].push('java') # run initial method self.vm.run_method( klass, klass.get_method('main', '([Ljava/lang/String;)V')[1]) self.vm.run_bytecode()