35 lines
826 B
PostScript
35 lines
826 B
PostScript
/add-type { % => Object Class
|
|
1 index get-types % => Object Class Types
|
|
array-append % => Object Types'
|
|
/Types exch put
|
|
} def
|
|
|
|
/call-method { % => ...Params... Box Method
|
|
1 index get-box-dict % => ...Params... Box Method Dict
|
|
/Methods get % => ...Params... Box Method MethodList
|
|
|
|
% Check if method have been defined
|
|
dup 2 index known not {
|
|
(Method is not known:) print
|
|
1 index ==
|
|
quit
|
|
} if
|
|
|
|
exch get exec % =>
|
|
} def
|
|
|
|
/get-types {
|
|
dup /Types known {
|
|
dup /Types get
|
|
} {
|
|
[]
|
|
} ifelse
|
|
|
|
exch pop
|
|
} def
|
|
|
|
/is-a { % => Object Class
|
|
1 index get-types % => Object Class Types
|
|
exch array-find -1 ne
|
|
exch pop
|
|
} def |