# JAVA class translation 'COS_JWorld'
# Thu Jun 30 17:00:22 EDT 2005
# Produced by Fritzifier, based on JasminVisitor
# Using BCEL library to read Java bytecode
# Here is the original code:
#
# import java.util.Iterator;
#
# public class COS_JWorld {
# private COS_JHashMap content = new COS_JHashMap();
# private COS_JList inventory = new COS_JList();
#
# public void add(COS_JNamed named, String name) {
# named.setName(name);
# content.put(named.getName(),named);
# inventory.add(named);
# }
#
# public COS_JNamed get(String name) {
# return (COS_JNamed)content.get(new String(name));
# }
#
# public void update() {
# for (Iterator i = inventory.iterator(); i.hasNext(); ) {
# COS_JNamed o = (COS_JNamed) i.next();
# o.update();
# }
# for (Iterator i = inventory.iterator(); i.hasNext(); ) {
# COS_JNamed o = (COS_JNamed) i.next();
# o.postUpdate();
# }
# }
# }
[hear] (class COS_JWorld ()
(field super-ref (make-cell 0))
(method new (set! (super-ref) ((java lang Object) / this)))
(method super (? x / (get! / super-ref) / x))
(method unknown (? x / self super / x))
(field content (cell new 0))
(field inventory (cell new 0))
(method <init>-V
(lambda () /
let ((vars / cell new / make-hash / vector
(pair 0 (self)))
(stack / cell new / vector)) /
state-machine (vars) (stack) / ? jvm / ? x / cond
((= (x) 0) (jvm aload 0))
((= (x) 1) (jvm invokespecial <init>-V 0 0))
((= (x) 2) (jvm aload 0))
((= (x) 3) (jvm new (COS_JHashMap)))
((= (x) 4) (jvm dup))
((= (x) 5) (jvm invokespecial <init>-V 0 0))
((= (x) 6) (jvm putfield content (COS_JHashMap)))
((= (x) 7) (jvm aload 0))
((= (x) 8) (jvm new (COS_JList)))
((= (x) 9) (jvm dup))
((= (x) 10) (jvm invokespecial <init>-V 0 0))
((= (x) 11) (jvm putfield inventory (COS_JList)))
((= (x) 12) (jvm return))
(jvm return))
)
(method <init> (self <init>-V))
(method add-COS_JNamed-String-V
(lambda (arg0 arg1) /
let ((vars / cell new / make-hash / vector
(pair 0 (self)) (pair 1 (arg0)) (pair 2 (arg1)))
(stack / cell new / vector)) /
state-machine (vars) (stack) / ? jvm / ? x / cond
((= (x) 0) (jvm aload 1))
((= (x) 1) (jvm aload 2))
((= (x) 2) (jvm invokevirtual setName-String-V 1 0))
((= (x) 3) (jvm aload 0))
((= (x) 4) (jvm getfield content (COS_JHashMap)))
((= (x) 5) (jvm aload 1))
((= (x) 6) (jvm invokevirtual getName-String 0 1))
((= (x) 7) (jvm aload 1))
((= (x) 8) (jvm invokevirtual put-Object-Object-V 2 0))
((= (x) 9) (jvm aload 0))
((= (x) 10) (jvm getfield inventory (COS_JList)))
((= (x) 11) (jvm aload 1))
((= (x) 12) (jvm invokevirtual add-Object-V 1 0))
((= (x) 13) (jvm return))
(jvm return))
)
(method add (self add-COS_JNamed-String-V))
(method get-String-COS_JNamed
(lambda (arg0) /
let ((vars / cell new / make-hash / vector
(pair 0 (self)) (pair 1 (arg0)))
(stack / cell new / vector)) /
state-machine (vars) (stack) / ? jvm / ? x / cond
((= (x) 0) (jvm aload 0))
((= (x) 1) (jvm getfield content (COS_JHashMap)))
((= (x) 2) (jvm new (java lang String)))
((= (x) 3) (jvm dup))
((= (x) 4) (jvm aload 1))
((= (x) 5) (jvm invokespecial <init>-String-V 1 0))
((= (x) 6) (jvm invokevirtual get-Object-Object 1 1))
((= (x) 7) (jvm checkcast (COS_JNamed)))
((= (x) 8) (jvm areturn))
(jvm return))
)
(method get (self get-String-COS_JNamed))
(method update-V
(lambda () /
let ((vars / cell new / make-hash / vector
(pair 0 (self)))
(stack / cell new / vector)) /
state-machine (vars) (stack) / ? jvm / ? x / cond
((= (x) 0) (jvm aload 0))
((= (x) 1) (jvm getfield inventory (COS_JList)))
((= (x) 2) (jvm invokevirtual iterator-Iterator 0 1))
((= (x) 3) (jvm astore 1))
((= (x) 4) (jvm aload 1))
((= (x) 5) (jvm invokeinterface hasNext-Z 0 1 1))
((= (x) 6) (jvm ifeq 14))
((= (x) 7) (jvm aload 1))
((= (x) 8) (jvm invokeinterface next-Object 0 1 1))
((= (x) 9) (jvm checkcast (COS_JNamed)))
((= (x) 10) (jvm astore 2))
((= (x) 11) (jvm aload 2))
((= (x) 12) (jvm invokevirtual update-V 0 0))
((= (x) 13) (jvm goto 4))
((= (x) 14) (jvm aload 0))
((= (x) 15) (jvm getfield inventory (COS_JList)))
((= (x) 16) (jvm invokevirtual iterator-Iterator 0 1))
((= (x) 17) (jvm astore 1))
((= (x) 18) (jvm aload 1))
((= (x) 19) (jvm invokeinterface hasNext-Z 0 1 1))
((= (x) 20) (jvm ifeq 28))
((= (x) 21) (jvm aload 1))
((= (x) 22) (jvm invokeinterface next-Object 0 1 1))
((= (x) 23) (jvm checkcast (COS_JNamed)))
((= (x) 24) (jvm astore 2))
((= (x) 25) (jvm aload 2))
((= (x) 26) (jvm invokevirtual postUpdate-V 0 0))
((= (x) 27) (jvm goto 18))
((= (x) 28) (jvm return))
(jvm return))
)
(method update (self update-V))
);