File: simple.jas

package info (click to toggle)
jasmin-sable 2.5.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,112 kB
  • sloc: java: 9,438; xml: 113; makefile: 17; csh: 16; sh: 1
file content (30 lines) | stat: -rw-r--r-- 1,256 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
;; script to create a class that does nothing.


                                        ; make-class-env creates
                                        ; a ClassEnv object which is
                                        ; used to store information about
                                        ; an object.
(define my-class (make-class-env))

                                        ; make-code creates a code object
                                        ; which contains the body of a
                                        ; method.

(define init-code (make-code))
(jas-code-addinsn init-code
                  (aload_0))
(jas-code-addinsn init-code
                  (invokenonvirtual
                   (make-method-cpe "java/lang/Object" "<init>" "()V")))
(jas-code-addinsn init-code
                  (return))

                                        ; fill up the class with goodies
(jas-class-setsuperclass my-class (make-class-cpe "java/lang/Object"))
(jas-class-setclass my-class (make-class-cpe "out"))
(jas-class-setaccess my-class acc-public)
(jas-class-addmethod my-class acc-public "<init>" "()V" init-code ())

                                        ; and write it all out
(jas-class-write my-class (make-outputstream "out.class"))