File: simple.jas

package info (click to toggle)
jasmin-sable 1.2-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, sarge
  • size: 1,464 kB
  • ctags: 1,903
  • sloc: java: 12,496; makefile: 126; csh: 93; sh: 93
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"))