Class RequiresReflectionDeterminer
java.lang.Object
gw.internal.gosu.ir.transform.util.RequiresReflectionDeterminer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
classesLoadInSeparateLoader
(ICompilableTypeInternal callingClass, IType declaringClass) private static boolean
classesLoadInSeparateLoader_Legacy
(ICompilableTypeInternal callingClass, IType declaringClass) private static boolean
classesLoadInSeparateLoader_Standard
(ICompilableTypeInternal callingClass, IType declaringClass) private static IDirectory
getSourcePathFor
(IFileRepositoryBasedType gsClass) private static String
getTopLevelNamespace
(IType type) static boolean
isCallingClassEnclosedInDifferentPackageFromDeclaringSuperclass
(ICompilableTypeInternal callingClass, IType declaringClass, IRType root, IRelativeTypeInfo.Accessibility accessibility) private static boolean
isDeclaringClassInAncestryOfEnclosingClasses
(ICompilableTypeInternal callingClass, IType declaringClass) private static boolean
isDeclaringClassInAncestryOfEnclosingClassesOfEvalProgram
(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) private static boolean
isEnclosedInSubtypeOfClass
(ICompilableTypeInternal potentiallyEnclosedClass, IType potentialSuperType) private static boolean
isEnhancementAccessRequiringReflection
(IType declaringClass, ICompilableTypeInternal callingClass, IRelativeTypeInfo.Accessibility accessibility) private static boolean
isEvalProgramBetweenCallingClassAndDeclaringClass
(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) private static boolean
isGosuClassAccessingProtectedMemberOfClassNotInHierarchy
(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) private static boolean
isGosuClassAccessingProtectedOrInternalMethodOfClassInDifferentClassloader
(ICompilableTypeInternal callingClass, IType declaringClass, IRelativeTypeInfo.Accessibility accessibility) private static boolean
isIllegalAccess
(IType declaringClass, ICompilableTypeInternal compilingClass, IRelativeTypeInfo.Accessibility accessibility) private static boolean
isInEvalProgram
(IType gsClass) private static boolean
isInSeparateClassLoader
(ICompilableTypeInternal callingClass, IType declaringClass) private static boolean
isProgramCompilingDuringDebuggerSuspension
(IType compilingClass, IRelativeTypeInfo.Accessibility accessibility) private static boolean
isProgramNotEval
(IType callingClass, IType declaringClass) private static boolean
isRootSame
(IRType root, ICompilableTypeInternal callingClass) private static boolean
isThrowawayProgram
(IType gsClass) static boolean
shouldUseReflection
(IType declaringClass, ICompilableTypeInternal compilingClass, IRType root, IRelativeTypeInfo.Accessibility accessibility) static boolean
shouldUseReflection
(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
-