示例#1
0
 def get_value(node):
     rep = IT.get_rep(node)
     args = (self,) + rep
     return JT.BootstrapMethodData(*args)
示例#2
0
 def get_value(node):
     rep = IT.get_rep(node)
     args = (self,) + rep
     return JT.StringConstant(*args)
示例#3
0
 def get_value(node):
     rep = IT.get_rep(node)
     args = (self,) + rep
     return JT.MethodDescriptor(*args)
示例#4
0
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
# ------------------------------------------------------------------------------

import chj.util.IndexedTable as IT

import chj.index.JType as JT

from chj.index.Classname import Classname
from chj.index.FieldSignature import FieldSignature
from chj.index.MethodSignature import MethodSignature
from chj.index.FieldSignature import ClassFieldSignature
from chj.index.MethodSignature import ClassMethodSignature

object_type_constructors = {
    'c': lambda x:JT.ClassObjectType(*x),
    'a': lambda x:JT.ArrayObjectType(*x)
    }

value_type_constructors = {
    'o': lambda x:JT.ObjectValueType(*x),
    'b': lambda x:JT.BasicValueType(*x)
    }

descriptor_constructors = {
    'v': lambda x:JT.ValueDescriptor(*x),
    'm': lambda x:JT.MethodDescriptor(*x)
    }

constant_value_constructors = {
    's': lambda x:JT.ConstString(*x),