Skip to content

Instantly share code, notes, and snippets.

@jamesladd
Created November 9, 2012 21:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jamesladd/4048463 to your computer and use it in GitHub Desktop.
Save jamesladd/4048463 to your computer and use it in GitHub Desktop.
Smalltalk generated to adapt to Java's ArrayList
******
IN DynamicJavaClassAdaptor.build
"@: smallTalkClassesThatAdaptJavaClasses.java.util.ArrayListAdaptor"
import: 'java.util.List' as: 'smallTalkClassesThatAdaptJavaClasses_java_util_ListAdaptor'.
import: 'java.util.ListIterator' as: 'smallTalkClassesThatAdaptJavaClasses_java_util_ListIteratorAdaptor'.
import: 'java.util.Iterator' as: 'smallTalkClassesThatAdaptJavaClasses_java_util_IteratorAdaptor'.
import: 'java.lang.Object' as: 'smallTalkClassesThatAdaptJavaClasses_java_lang_ObjectAdaptor'.
Object < #ArrayListAdaptor.
ArrayListAdaptor class atSelector: #withCollection: put: [ :args || obj |
JVM new:'java/util/ArrayList'.
JVM dup. JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/Collection'.
JVM invokeSpecial: 'java/util/ArrayList' method: '<init>' matching: '(Ljava/util/Collection;)V'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^ obj.
].
ArrayListAdaptor class atSelector: #new put: [ | obj |
JVM new:'java/util/ArrayList'.
JVM dup. JVM invokeSpecial: 'java/util/ArrayList' method: '<init>' matching: '()V'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^ obj.
].
ArrayListAdaptor class atSelector: #withI: put: [ :args || obj |
JVM new:'java/util/ArrayList'.
JVM dup. JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'intValue' matching: '()I'.
JVM invokeSpecial: 'java/util/ArrayList' method: '<init>' matching: '(I)V'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^ obj.
].
ArrayListAdaptor class atSelector: #with: put: [ :args || selector javaClassName|
javaClassName := 'java.util.ArrayList'. JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaConstructorForClassNamed' matching: '(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor class atSelector: #superNew put: [ :args |
^super new.
].
ArrayListAdaptor class atSelector: #selectorFor:withPrefix: put: [ :args :prefix |
<primitive: 227>
].
ArrayListAdaptor atSelector: #clone put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'clone' matching: '()Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #toArray put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'toArray' matching: '()[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaArray' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #toArrayArrayOfObject: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'toArray' matching: '([Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaArray' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #iterator put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'iterator' matching: '()Ljava/util/Iterator;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #addAllICollection: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'intValue' matching: '()I'.
JVM arg:0 at:1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/Collection'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'addAll' matching: '(ILjava/util/Collection;)Z'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaBoolean' matching: '(Z)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #addAllCollection: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/Collection'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'addAll' matching: '(Ljava/util/Collection;)Z'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaBoolean' matching: '(Z)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #getI: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'intValue' matching: '()I'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'get' matching: '(I)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #listIteratorI: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'intValue' matching: '()I'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'listIterator' matching: '(I)Ljava/util/ListIterator;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #listIterator put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'listIterator' matching: '()Ljava/util/ListIterator;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #lastIndexOfObject: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'lastIndexOf' matching: '(Ljava/lang/Object;)I'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaInt' matching: '(I)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #toString put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/AbstractCollection'.
JVM invokeVirtual: 'java/util/AbstractCollection' method: 'toString' matching: '()Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #size put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'size' matching: '()I'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaInt' matching: '(I)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #equalsObject: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/AbstractList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM invokeVirtual: 'java/util/AbstractList' method: 'equals' matching: '(Ljava/lang/Object;)Z'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaBoolean' matching: '(Z)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #removeObject: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'remove' matching: '(Ljava/lang/Object;)Z'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaBoolean' matching: '(Z)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #removeI: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'intValue' matching: '()I'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'remove' matching: '(I)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #setIObject: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'intValue' matching: '()I'.
JVM arg:0 at:1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'set' matching: '(ILjava/lang/Object;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #trimToSize put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'trimToSize' matching: '()V'.
^rtn.
].
ArrayListAdaptor atSelector: #containsObject: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'contains' matching: '(Ljava/lang/Object;)Z'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaBoolean' matching: '(Z)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #indexOfObject: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'indexOf' matching: '(Ljava/lang/Object;)I'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaInt' matching: '(I)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #addObject: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'add' matching: '(Ljava/lang/Object;)Z'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaBoolean' matching: '(Z)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #addIObject: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'intValue' matching: '()I'.
JVM arg:0 at:1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'add' matching: '(ILjava/lang/Object;)V'.
^rtn.
].
ArrayListAdaptor atSelector: #wait put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM invokeVirtual: 'java/lang/Object' method: 'wait' matching: '()V'.
^rtn.
].
ArrayListAdaptor atSelector: #waitJ: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'longValue' matching: '()J'.
JVM invokeVirtual: 'java/lang/Object' method: 'wait' matching: '(J)V'.
^rtn.
].
ArrayListAdaptor atSelector: #waitJI: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'longValue' matching: '()J'.
JVM arg:0 at:1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'intValue' matching: '()I'.
JVM invokeVirtual: 'java/lang/Object' method: 'wait' matching: '(JI)V'.
^rtn.
].
ArrayListAdaptor atSelector: #clear put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'clear' matching: '()V'.
^rtn.
].
ArrayListAdaptor atSelector: #isEmpty put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'isEmpty' matching: '()Z'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaBoolean' matching: '(Z)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #notify put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM invokeVirtual: 'java/lang/Object' method: 'notify' matching: '()V'.
^rtn.
].
ArrayListAdaptor atSelector: #hashCode put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/AbstractList'.
JVM invokeVirtual: 'java/util/AbstractList' method: 'hashCode' matching: '()I'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaInt' matching: '(I)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #ensureCapacityI: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'intValue' matching: '()I'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'ensureCapacity' matching: '(I)V'.
^rtn.
].
ArrayListAdaptor atSelector: #retainAllCollection: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/Collection'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'retainAll' matching: '(Ljava/util/Collection;)Z'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaBoolean' matching: '(Z)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #notifyAll put: [ | rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM invokeVirtual: 'java/lang/Object' method: 'notifyAll' matching: '()V'.
^rtn.
].
ArrayListAdaptor atSelector: #subListII: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'intValue' matching: '()I'.
JVM arg:0 at:1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/math/BigDecimal'.
JVM invokeVirtual: 'java/math/BigDecimal' method: 'intValue' matching: '()I'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'subList' matching: '(II)Ljava/util/List;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #containsAllCollection: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/AbstractCollection'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/Collection'.
JVM invokeVirtual: 'java/util/AbstractCollection' method: 'containsAll' matching: '(Ljava/util/Collection;)Z'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaBoolean' matching: '(Z)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #removeAllCollection: put: [ :args || rtn |
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/ArrayList'.
JVM arg:0 at:0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/util/Collection'.
JVM invokeVirtual: 'java/util/ArrayList' method: 'removeAll' matching: '(Ljava/util/Collection;)Z'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaBoolean' matching: '(Z)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
^rtn.
].
ArrayListAdaptor atSelector: #toArray: put: [ :args || selector methodName|
methodName := 'toArray'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #addAll: put: [ :args || selector methodName|
methodName := 'addAll'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #get: put: [ :args || selector methodName|
methodName := 'get'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #remove: put: [ :args || selector methodName|
methodName := 'remove'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #equals: put: [ :args || selector methodName|
methodName := 'equals'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #set: put: [ :args || selector methodName|
methodName := 'set'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #containsAll: put: [ :args || selector methodName|
methodName := 'containsAll'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #listIterator: put: [ :args || selector methodName|
methodName := 'listIterator'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #lastIndexOf: put: [ :args || selector methodName|
methodName := 'lastIndexOf'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #contains: put: [ :args || selector methodName|
methodName := 'contains'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #indexOf: put: [ :args || selector methodName|
methodName := 'indexOf'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #wait: put: [ :args || selector methodName|
methodName := 'wait'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #add: put: [ :args || selector methodName|
methodName := 'add'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #ensureCapacity: put: [ :args || selector methodName|
methodName := 'ensureCapacity'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #retainAll: put: [ :args || selector methodName|
methodName := 'retainAll'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #subList: put: [ :args || selector methodName|
methodName := 'subList'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #removeAll: put: [ :args || selector methodName|
methodName := 'removeAll'.
JVM aload: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/Object'.
JVM atTemp: 1.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM checkcast: 'java/lang/String'.
JVM arg: 0.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'javaObjectForSmalltalkObject' matching: '(Lst/redline/core/PrimObject;)Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'converToArrayOfObjects' matching: '(Ljava/lang/Object;)[Ljava/lang/Object;'.
JVM checkcast: '[Ljava/lang/Object;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method: 'smalltalkSelectorForMethodThatWrapsRightJavaMethodFor' matching: '(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;'.
JVM invokeStatic: 'st/redline/core/SmallTalkGeneratorOfAdaptorOfAJavaClass' method:'smallTalkObjectForJavaValue' matching: '(Ljava/lang/Object;)Lst/redline/core/PrimObject;'.
JVM putTemp: 0.
JVM aload: 1.
JVM arg: 0.
JVM atTemp: 0.
JVM invokeVirtual: 'st/redline/core/PrimObject' method: 'perform' matching: '(Lst/redline/core/PrimObject;Lst/redline/core/PrimObject;)Lst/redline/core/PrimObject;'.
].
ArrayListAdaptor atSelector: #selectorFor:withPrefix: put: [ :args :prefix |
<primitive: 227>
].
ArrayListAdaptor initialize.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment