Package gw.internal.gosu.parser
Class JavaTypeExtensions
- java.lang.Object
-
- gw.internal.gosu.parser.JavaTypeExtensions
-
class JavaTypeExtensions extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Map<java.lang.String,java.lang.Class<?>>COMPOSITE_CLASS_BY_NAME
-
Constructor Summary
Constructors Modifier Constructor Description privateJavaTypeExtensions()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static java.lang.Class<?>defineCompositeClass(java.lang.Class<?> superClass, java.lang.Class<?> primaryInterface, java.lang.Class<?> secondaryInterface, java.lang.Class<?> secondaryObjectClass)private static java.lang.Class<?>getCachedCompositeClass(java.lang.String compositeClassName, java.lang.Class<?> secondaryInterface)private static <T> java.lang.Class<? extends T>getCompositeClass(java.lang.Class<?> superClass, java.lang.Class<T> primaryInterface, java.lang.Class<?> secondaryInterface, java.lang.Class<?> secondaryObjectClass)private static java.lang.StringgetCompositeClassName(java.lang.Class<?> secondaryObjectClass)private static ExtendedTypeDataFactorygetExtendedTypeDataFactory(IJavaType javaType)private static voidimplementMethodViaDelegation(org.objectweb.asm.ClassWriter classWriter, java.lang.String fieldOwnerInternalName, java.lang.reflect.Method method, java.lang.String fieldName, java.lang.Class<?> fieldType, java.util.Set<java.lang.String> signatures)static IJavaPropertyInfomaybeExtendProperty(JavaPropertyInfo javaProperty)static IJavaTypeInternalmaybeExtendType(JavaType javaType)private static <T> TnewCompositeInstance(java.lang.Class<?> superClass, java.lang.Class<T> primaryInterface, java.lang.Class<?> secondaryInterface, T primaryObject, java.lang.Object secondaryObject)(package private) static IJavaPropertyInfonewExtendedProperty(java.lang.Class<?> secondaryInterface, IJavaPropertyInfo originalProperty, java.lang.Object secondaryObject)(package private) static IJavaTypeInternalnewExtendedType(java.lang.Class<?> secondaryInterface, IJavaTypeInternal originalType, java.lang.Object secondaryObject)private static java.lang.String[]toInternalNames(java.lang.Class<?>[] classes)
-
-
-
Method Detail
-
maybeExtendProperty
public static IJavaPropertyInfo maybeExtendProperty(JavaPropertyInfo javaProperty)
-
maybeExtendType
public static IJavaTypeInternal maybeExtendType(JavaType javaType)
-
getExtendedTypeDataFactory
private static ExtendedTypeDataFactory getExtendedTypeDataFactory(IJavaType javaType)
-
newExtendedType
static IJavaTypeInternal newExtendedType(java.lang.Class<?> secondaryInterface, IJavaTypeInternal originalType, java.lang.Object secondaryObject)
-
newExtendedProperty
static IJavaPropertyInfo newExtendedProperty(java.lang.Class<?> secondaryInterface, IJavaPropertyInfo originalProperty, java.lang.Object secondaryObject)
-
newCompositeInstance
private static <T> T newCompositeInstance(java.lang.Class<?> superClass, java.lang.Class<T> primaryInterface, java.lang.Class<?> secondaryInterface, T primaryObject, java.lang.Object secondaryObject)
-
getCompositeClass
private static <T> java.lang.Class<? extends T> getCompositeClass(java.lang.Class<?> superClass, java.lang.Class<T> primaryInterface, java.lang.Class<?> secondaryInterface, java.lang.Class<?> secondaryObjectClass)
-
getCachedCompositeClass
private static java.lang.Class<?> getCachedCompositeClass(java.lang.String compositeClassName, java.lang.Class<?> secondaryInterface)
-
getCompositeClassName
private static java.lang.String getCompositeClassName(java.lang.Class<?> secondaryObjectClass)
-
defineCompositeClass
private static java.lang.Class<?> defineCompositeClass(java.lang.Class<?> superClass, java.lang.Class<?> primaryInterface, java.lang.Class<?> secondaryInterface, java.lang.Class<?> secondaryObjectClass)
-
implementMethodViaDelegation
private static void implementMethodViaDelegation(org.objectweb.asm.ClassWriter classWriter, java.lang.String fieldOwnerInternalName, java.lang.reflect.Method method, java.lang.String fieldName, java.lang.Class<?> fieldType, java.util.Set<java.lang.String> signatures)
-
toInternalNames
private static java.lang.String[] toInternalNames(java.lang.Class<?>[] classes)
-
-