polyglot.ext.pao.types
Class PaoTypeSystem_c

java.lang.Object
  extended by polyglot.ext.jl.types.TypeSystem_c
      extended by polyglot.ext.pao.types.PaoTypeSystem_c
All Implemented Interfaces:
PaoTypeSystem, TypeSystem

public class PaoTypeSystem_c
extends TypeSystem_c
implements PaoTypeSystem

Implementation of the PAO type system interface. Also overrides some methods of TypeSystem_c.


Nested Class Summary
 
Nested classes/interfaces inherited from class polyglot.ext.jl.types.TypeSystem_c
TypeSystem_c.MostSpecificComparator
 
Field Summary
 
Fields inherited from class polyglot.ext.jl.types.TypeSystem_c
ACCESS_FLAGS, BOOLEAN_, BYTE_, CHAR_, CLASS_, CONSTRUCTOR_FLAGS, defaultClassInit, DOUBLE_, FIELD_FLAGS, flagsForName, FLOAT_, INITIALIZER_FLAGS, INT_, loadedResolver, LOCAL_CLASS_FLAGS, LOCAL_FLAGS, LONG_, MEMBER_CLASS_FLAGS, METHOD_FLAGS, NULL_, OBJECT_, parsedResolver, SHORT_, STRING_, systemResolver, THROWABLE_, TOP_LEVEL_CLASS_FLAGS, unknownPackage, unknownQualifier, unknownType, VOID_
 
Constructor Summary
PaoTypeSystem_c()
           
 
Method Summary
 ClassType boxedType(PrimitiveType t)
          Returns the class type used to represent boxed values of type t.
 ParsedClassType createClassType(LazyClassInitializer init, Source fromSource)
          Returns a new instance of PaoParsedClassType_c
 PrimitiveType createPrimitive(PrimitiveType.Kind kind)
          Returns a new instance of PaoPrimitiveType_c
 MethodInstance getter(PrimitiveType t)
          Returns the method instance for getting the primitive value from a boxed representation of primitive values of type t.
 MethodInstance primitiveEquals()
          Returns the method instance for the runtime method that tests two boxed primitive values for equality.
 ConstructorInstance wrapper(PrimitiveType t)
          Returns the constructor instance for the class used to represent boxed values of type t.
 
Methods inherited from class polyglot.ext.jl.types.TypeSystem_c
Abstract, abstractSuperInterfaces, accessibleFromPackage, ArithmeticException, arrayOf, arrayOf, arrayOf, arrayOf, ArrayStoreException, arrayType, assert_, assert_, Boolean, Byte, callValid, canCoerceToString, canOverride, Char, checkAccessFlags, checkClassConformance, checkConstructorFlags, checkCycles, checkCycles, checkFieldFlags, checkInitializerFlags, checkLocalClassFlags, checkLocalFlags, checkMemberClassFlags, checkMethodFlags, checkOverride, checkTopLevelClassFlags, Class, classAccessible, classAccessible, classAccessibleFromPackage, ClassCastException, classContextResolver, Cloneable, constructorInstance, createClassType, createClassType, createClassType, createContext, createNewFlag, createNull, createPackage, createPackage, defaultClassInitializer, defaultConstructor, defaultPackageImports, descendsFrom, Double, equals, Error, Exception, fieldInstance, Final, findAcceptableConstructors, findAcceptableMethods, findConstructor, findConstructor, findField, findField, findField, findFields, findMemberClass, findMemberClass, findMemberClass, findMemberClasses, findMethod, findMethod, findMostSpecificProcedures, findProcedure, flagsForBits, flagsForName, Float, forName, getTransformedClassName, getTypeEncoderRootSet, hasEnclosingInstance, hasFormals, hasMethod, hasMethodNamed, implemented, importTable, importTable, initFlags, initialize, initializerInstance, initTypes, Int, Interface, interfaces, isAccessible, isAccessible, isCanonical, isCastValid, isEnclosed, isImplicitCastValid, isSameMethod, isSubtype, isThrowable, isUncheckedException, leastCommonAncestor, listToString, load, loadedResolver, localInstance, Long, methodCallValid, methodInstance, moreSpecific, Native, NoFlags, Null, NullPointerException, numericConversionValid, numericConversionValid, Object, OutOfBoundsException, overrides, packageContextResolver, packageExists, packageForName, packageForName, parsedResolver, placeHolder, placeHolder, primitiveForName, Private, promote, promote, promoteNumeric, promoteNumeric, Protected, Public, RuntimeException, Serializable, Short, Static, staticTarget, StrictFP, String, superType, Synchronized, systemResolver, Throwable, throwsSubset, toString, Transient, translateArray, translateClass, translatePackage, translatePrimitive, typeForClass, typeForName, uncheckedExceptions, unknownPackage, unknownQualifier, unknownType, Void, Volatile, wrapperTypeString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface polyglot.types.TypeSystem
Abstract, ArithmeticException, arrayOf, arrayOf, arrayOf, arrayOf, ArrayStoreException, Boolean, Byte, callValid, canCoerceToString, canOverride, Char, checkAccessFlags, checkClassConformance, checkConstructorFlags, checkCycles, checkFieldFlags, checkInitializerFlags, checkLocalClassFlags, checkLocalFlags, checkMemberClassFlags, checkMethodFlags, checkOverride, checkTopLevelClassFlags, Class, classAccessible, classAccessibleFromPackage, ClassCastException, classContextResolver, Cloneable, constructorInstance, createClassType, createClassType, createClassType, createContext, createNewFlag, createPackage, createPackage, defaultClassInitializer, defaultConstructor, defaultPackageImports, descendsFrom, Double, equals, Error, Exception, fieldInstance, Final, findConstructor, findConstructor, findField, findField, findField, findMemberClass, findMemberClass, findMemberClass, findMethod, findMethod, flagsForBits, Float, forName, getTransformedClassName, getTypeEncoderRootSet, hasEnclosingInstance, hasFormals, hasMethod, hasMethodNamed, implemented, importTable, importTable, initialize, initializerInstance, Int, Interface, interfaces, isAccessible, isCanonical, isCastValid, isEnclosed, isImplicitCastValid, isSameMethod, isSubtype, isThrowable, isUncheckedException, leastCommonAncestor, loadedResolver, localInstance, Long, methodCallValid, methodInstance, moreSpecific, Native, NoFlags, Null, NullPointerException, numericConversionValid, numericConversionValid, Object, OutOfBoundsException, overrides, packageContextResolver, packageExists, packageForName, packageForName, parsedResolver, placeHolder, placeHolder, primitiveForName, Private, promote, promote, Protected, Public, RuntimeException, Serializable, Short, Static, staticTarget, StrictFP, String, superType, Synchronized, systemResolver, Throwable, throwsSubset, Transient, translateArray, translateClass, translatePackage, translatePrimitive, typeForName, uncheckedExceptions, unknownPackage, unknownQualifier, unknownType, Void, Volatile, wrapperTypeString
 

Constructor Detail

PaoTypeSystem_c

public PaoTypeSystem_c()
Method Detail

createPrimitive

public PrimitiveType createPrimitive(PrimitiveType.Kind kind)
Returns a new instance of PaoPrimitiveType_c

Overrides:
createPrimitive in class TypeSystem_c
See Also:
PaoPrimitiveType_c

createClassType

public ParsedClassType createClassType(LazyClassInitializer init,
                                       Source fromSource)
Returns a new instance of PaoParsedClassType_c

Specified by:
createClassType in interface TypeSystem
Overrides:
createClassType in class TypeSystem_c
See Also:
PaoParsedClassType_c

primitiveEquals

public MethodInstance primitiveEquals()
Description copied from interface: PaoTypeSystem
Returns the method instance for the runtime method that tests two boxed primitive values for equality.

Specified by:
primitiveEquals in interface PaoTypeSystem
Returns:
the method instance for the runtime method that tests two boxed primitive values for equality.
See Also:
PaoTypeSystem.primitiveEquals()

getter

public MethodInstance getter(PrimitiveType t)
Description copied from interface: PaoTypeSystem
Returns the method instance for getting the primitive value from a boxed representation of primitive values of type t.

Specified by:
getter in interface PaoTypeSystem
Parameters:
t - the primitive type for which we want the getter method to access the primitive value of a boxed primitive value.
Returns:
the method instance for getting the primitive value from a boxed representation of primitive values of type t.
See Also:
Boolean.booleanValue(), Byte.byteValue(), Character.charValue(), Double.doubleValue(), Float.floatValue(), Integer.intValue(), Long.longValue(), Short.shortValue()

boxedType

public ClassType boxedType(PrimitiveType t)
Description copied from interface: PaoTypeSystem
Returns the class type used to represent boxed values of type t.

Specified by:
boxedType in interface PaoTypeSystem
Parameters:
t - the PrimitiveType for which the type used to represent boxed values is returned.
Returns:
the class type used to represent boxed values of type t.

wrapper

public ConstructorInstance wrapper(PrimitiveType t)
Description copied from interface: PaoTypeSystem
Returns the constructor instance for the class used to represent boxed values of type t.

Specified by:
wrapper in interface PaoTypeSystem
Parameters:
t - the PrimitiveType for which the constructor instance of the class representing boxed values is returned.
Returns:
the constructor instance for the class used to represent boxed values of type t.