Class RequiresReflectionDeterminer
java.lang.Object
gw.internal.gosu.ir.transform.util.RequiresReflectionDeterminer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static booleanclassesLoadInSeparateLoader(ICompilableTypeInternal callingClass, IType declaringClass) private static booleanclassesLoadInSeparateLoader_Legacy(ICompilableTypeInternal callingClass, IType declaringClass) private static booleanclassesLoadInSeparateLoader_Standard(ICompilableTypeInternal callingClass, IType declaringClass) private static IDirectorygetSourcePathFor(IFileRepositoryBasedType gsClass) private static StringgetTopLevelNamespace(IType type) static booleanisCallingClassEnclosedInDifferentPackageFromDeclaringSuperclass(ICompilableTypeInternal callingClass, IType declaringClass, IRType root, IRelativeTypeInfo.Accessibility accessibility) private static booleanisDeclaringClassInAncestryOfEnclosingClasses(ICompilableTypeInternal callingClass, IType declaringClass) private static booleanisDeclaringClassInAncestryOfEnclosingClassesOfEvalProgram(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) private static booleanisEnclosedInSubtypeOfClass(ICompilableTypeInternal potentiallyEnclosedClass, IType potentialSuperType) private static booleanisEnhancementAccessRequiringReflection(IType declaringClass, ICompilableTypeInternal callingClass, IRelativeTypeInfo.Accessibility accessibility) private static booleanisEvalProgramBetweenCallingClassAndDeclaringClass(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) private static booleanisGosuClassAccessingProtectedMemberOfClassNotInHierarchy(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) private static booleanisGosuClassAccessingProtectedOrInternalMethodOfClassInDifferentClassloader(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) private static booleanisIllegalAccess(IType declaringClass, ICompilableTypeInternal compilingClass, IRelativeTypeInfo.Accessibility accessibility) private static booleanisInEvalProgram(IType gsClass) private static booleanisInSeparateClassLoader(ICompilableTypeInternal callingClass, IType declaringClass) private static booleanisProgramCompilingDuringDebuggerSuspension(IType compilingClass, IRelativeTypeInfo.Accessibility accessibility) private static booleanisProgramNotEval(IType callingClass, IType declaringClass) private static booleanisRootSame(IRType root, ICompilableTypeInternal callingClass) private static booleanisThrowawayProgram(IType gsClass) static booleanshouldUseReflection(IType declaringClass, ICompilableTypeInternal compilingClass, IRType root, IRelativeTypeInfo.Accessibility accessibility) static booleanshouldUseReflection(IType declaringClass, ICompilableTypeInternal compilingClass, IRelativeTypeInfo.Accessibility accessibility)
-
Constructor Details
-
RequiresReflectionDeterminer
public RequiresReflectionDeterminer()
-
-
Method Details
-
shouldUseReflection
public static boolean shouldUseReflection(IType declaringClass, ICompilableTypeInternal compilingClass, IRelativeTypeInfo.Accessibility accessibility) -
shouldUseReflection
public static boolean shouldUseReflection(IType declaringClass, ICompilableTypeInternal compilingClass, IRType root, IRelativeTypeInfo.Accessibility accessibility) -
isIllegalAccess
private static boolean isIllegalAccess(IType declaringClass, ICompilableTypeInternal compilingClass, IRelativeTypeInfo.Accessibility accessibility) -
isProgramCompilingDuringDebuggerSuspension
private static boolean isProgramCompilingDuringDebuggerSuspension(IType compilingClass, IRelativeTypeInfo.Accessibility accessibility) -
isEnhancementAccessRequiringReflection
private static boolean isEnhancementAccessRequiringReflection(IType declaringClass, ICompilableTypeInternal callingClass, IRelativeTypeInfo.Accessibility accessibility) -
isEvalProgramBetweenCallingClassAndDeclaringClass
private static boolean isEvalProgramBetweenCallingClassAndDeclaringClass(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) -
isDeclaringClassInAncestryOfEnclosingClassesOfEvalProgram
private static boolean isDeclaringClassInAncestryOfEnclosingClassesOfEvalProgram(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) -
isCallingClassEnclosedInDifferentPackageFromDeclaringSuperclass
public static boolean isCallingClassEnclosedInDifferentPackageFromDeclaringSuperclass(ICompilableTypeInternal callingClass, IType declaringClass, IRType root, IRelativeTypeInfo.Accessibility accessibility) -
isRootSame
-
isGosuClassAccessingProtectedOrInternalMethodOfClassInDifferentClassloader
private static boolean isGosuClassAccessingProtectedOrInternalMethodOfClassInDifferentClassloader(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) -
classesLoadInSeparateLoader
private static boolean classesLoadInSeparateLoader(ICompilableTypeInternal callingClass, IType declaringClass) -
classesLoadInSeparateLoader_Legacy
private static boolean classesLoadInSeparateLoader_Legacy(ICompilableTypeInternal callingClass, IType declaringClass) -
classesLoadInSeparateLoader_Standard
private static boolean classesLoadInSeparateLoader_Standard(ICompilableTypeInternal callingClass, IType declaringClass) -
getSourcePathFor
-
isGosuClassAccessingProtectedMemberOfClassNotInHierarchy
private static boolean isGosuClassAccessingProtectedMemberOfClassNotInHierarchy(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) -
getTopLevelNamespace
-
isEnclosedInSubtypeOfClass
private static boolean isEnclosedInSubtypeOfClass(ICompilableTypeInternal potentiallyEnclosedClass, IType potentialSuperType) -
isInSeparateClassLoader
private static boolean isInSeparateClassLoader(ICompilableTypeInternal callingClass, IType declaringClass) -
isDeclaringClassInAncestryOfEnclosingClasses
private static boolean isDeclaringClassInAncestryOfEnclosingClasses(ICompilableTypeInternal callingClass, IType declaringClass) -
isInEvalProgram
-
isThrowawayProgram
-
isProgramNotEval
-