Clamp employs six (possibly seven) metaprogramming functionalities in Python/Jython:
-
Metaclass support, which required unifying Java types (rooted by
java.lang.Class) and Python new-style classes (rooted bytype). This then enable the metaclass to build the desired class shape. It can do the following: constant type inference; construction of getters/setters; etc. -
Brand new,
__proxymaker__allows for aCustomMakerto intercept