CC/jasmin/jasmin-2.4/lib/jas/tests/all.jas
Jeena Paradies 063194f8be first commit
2011-04-19 11:37:05 +02:00

72 lines
No EOL
2.9 KiB
Text

(define my-env (make-class-env))
(jas-class-addcpe my-env (make-ascii-cpe "fubar"))
(jas-class-addcpe my-env (make-class-cpe "java/lang/Number"))
(jas-class-addcpe my-env (make-double-cpe 2.0))
(jas-class-addcpe my-env
(make-field-cpe "java/lang/System" "out" "Ljava/io/PrintStream;"))
(jas-class-addcpe my-env (make-float-cpe 2.0))
(jas-class-addcpe my-env (make-integer-cpe 2))
(jas-class-addcpe my-env
(make-interface-cpe "java/lang/Runnable" "run" "()V"))
(jas-class-addcpe my-env (make-long-cpe 2))
(jas-class-addcpe my-env
(make-method-cpe "java/lang/Thread" "run" "()V"))
(jas-class-addcpe my-env
(make-name-type-cpe "sdfsdf" "Ljava/lang/Object;"))
(jas-class-addcpe my-env (make-string-cpe "sdf"))
(jas-class-addfield my-env
(make-field
acc-public (make-ascii-cpe "someIntVar") (make-ascii-cpe "I") ()))
(jas-class-addfield my-env
(make-field
(| acc-public acc-static) (make-ascii-cpe "finalInt")
(make-ascii-cpe "I") (make-const (make-integer-cpe 10.2))))
(jas-class-addinterface my-env (make-class-cpe "java/lang/Runnable"))
(jas-class-setclass my-env (make-class-cpe "scmregress"))
(jas-class-setsuperclass my-env (make-class-cpe "java/lang/Object"))
(jas-class-setaccess my-env acc-public)
(define my-code (make-code))
(jas-code-addinsn my-code (return))
(jas-code-addinsn my-code (astore 5))
(jas-code-addinsn my-code (make-label "First label"))
(jas-code-addinsn my-code (jsr (make-label "First label")))
(define saved-label (make-label "second_label"))
(jas-code-addinsn my-code saved-label)
(jas-code-addinsn my-code (ldc_w (make-string-cpe "sdfsdf")))
(jas-code-addinsn my-code (iinc 2 -2))
(jas-code-addinsn my-code
(invokeinterface
(make-class-cpe "java/lang/Number") 1))
(jas-code-addinsn my-code (multianewarray (make-class-cpe "java/lang/Double")
3))
(define ctb (make-catchtable))
(jas-add-catch-entry ctb (make-catch-entry
(make-label "First label")
saved-label
saved-label
(make-class-cpe "java/lang/Exception")))
(jas-add-catch-entry ctb (make-catch-entry
(make-label "First label")
saved-label
saved-label
(make-class-cpe "java/lang/Error")))
(jas-set-catchtable my-code ctb)
(jas-code-stack-size my-code 100)
(jas-code-var-size my-code 100)
(define my-except (make-exception))
(jas-exception-add my-except (make-class-cpe "java/io/IOException"))
(jas-exception-add my-except (make-class-cpe "java/lang/Error"))
(jas-class-addmethod my-env
acc-public
"somemethod"
"(I)V"
my-code
my-except)
(jas-class-write my-env (make-outputstream "scmregress.class"))