net.sf.retrotranslator.transformer
Class ReplacementLocator
java.lang.Object
net.sf.retrotranslator.transformer.ReplacementLocator
class ReplacementLocator
- extends java.lang.Object
- Author:
- Taras Puchko
Method Summary |
private void |
addInheritedMembers(ClassReplacement replacement)
|
private void |
buildForClass(java.lang.String originalName,
ClassReplacement replacement,
ClassBackport backport)
|
private void |
buildForMember(java.lang.String originalName,
ClassReplacement replacement,
MemberBackport backport)
|
private void |
buildForPackage(java.lang.String originalName,
ClassReplacement replacement,
PackageBackport backport)
|
private ClassReplacement |
buildReplacement(java.lang.String originalName)
|
private void |
completeReplacement(ClassReplacement replacement,
java.lang.String originalName)
|
private static Type[] |
deleteFirst(Type[] types)
|
private MemberReplacement |
findCheckCastReplacement(java.util.Collection<MemberReplacement> replacements)
|
private MemberReplacement |
findInstanceOfReplacement(java.util.Collection<MemberReplacement> replacements)
|
private java.lang.String |
findUniqueName(java.lang.String prefix,
java.lang.String suffix)
|
private ClassDescriptor |
getClassDescriptor(java.lang.String internalName)
|
private static java.lang.String |
getConstructorDesc(java.lang.String desc)
|
TargetEnvironment |
getEnvironment()
|
java.lang.String |
getReferenceTypeName(java.lang.String className)
|
ClassReplacement |
getReplacement(java.lang.String className)
|
NameTranslator |
getTranslator()
|
java.lang.String |
getUniqueTypeName(java.lang.String className)
|
private static boolean |
isArgument(MethodDescriptor descriptor)
|
private boolean |
isClassAvailable(java.lang.String internalName)
|
private static boolean |
isInitializer(MethodDescriptor descriptor,
java.lang.String referenceTypeName)
|
private boolean |
isSupportedFeature(AnnotatedElementDescriptor descriptor)
|
private void |
loadAllMembers(ClassReplacement replacement,
ClassDescriptor descriptor,
ReplacementLocator.KeyProvider keyProvider)
|
private void |
loadConstructor(ClassReplacement classReplacement,
MemberReplacement replacement)
|
private
|
loadMembers(java.lang.String owner,
java.util.Collection<T> members,
ReplacementLocator.KeyProvider keyProvider,
java.util.Map<MemberKey,MemberReplacement> replacements)
|
private void |
processMethod(ClassReplacement classReplacement,
java.lang.String methodName,
MemberReplacement replacement)
|
private static void |
putForConstructor(java.util.Map<java.lang.String,MemberReplacement> map,
MemberReplacement replacement)
|
private static
|
putIfAbsent(java.util.Map<K,V> map,
K key,
V value)
|
private static java.lang.String |
replaceChar(java.lang.String s,
int index,
java.lang.String replacement)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NULL
private static final ClassReplacement NULL
mode
private final OperationMode mode
backports
private final java.util.List<Backport> backports
environment
private final TargetEnvironment environment
replacements
private final java.util.Map<java.lang.String,ClassReplacement> replacements
ReplacementLocator
public ReplacementLocator(OperationMode mode,
java.util.List<Backport> backports,
TargetEnvironment environment)
getEnvironment
public TargetEnvironment getEnvironment()
getReplacement
public ClassReplacement getReplacement(java.lang.String className)
addInheritedMembers
private void addInheritedMembers(ClassReplacement replacement)
buildReplacement
private ClassReplacement buildReplacement(java.lang.String originalName)
buildForClass
private void buildForClass(java.lang.String originalName,
ClassReplacement replacement,
ClassBackport backport)
buildForMember
private void buildForMember(java.lang.String originalName,
ClassReplacement replacement,
MemberBackport backport)
buildForPackage
private void buildForPackage(java.lang.String originalName,
ClassReplacement replacement,
PackageBackport backport)
findUniqueName
private java.lang.String findUniqueName(java.lang.String prefix,
java.lang.String suffix)
replaceChar
private static java.lang.String replaceChar(java.lang.String s,
int index,
java.lang.String replacement)
loadAllMembers
private void loadAllMembers(ClassReplacement replacement,
ClassDescriptor descriptor,
ReplacementLocator.KeyProvider keyProvider)
loadMembers
private <T extends AnnotatedElementDescriptor & MemberDescriptor> void loadMembers(java.lang.String owner,
java.util.Collection<T> members,
ReplacementLocator.KeyProvider keyProvider,
java.util.Map<MemberKey,MemberReplacement> replacements)
completeReplacement
private void completeReplacement(ClassReplacement replacement,
java.lang.String originalName)
findCheckCastReplacement
private MemberReplacement findCheckCastReplacement(java.util.Collection<MemberReplacement> replacements)
findInstanceOfReplacement
private MemberReplacement findInstanceOfReplacement(java.util.Collection<MemberReplacement> replacements)
processMethod
private void processMethod(ClassReplacement classReplacement,
java.lang.String methodName,
MemberReplacement replacement)
deleteFirst
private static Type[] deleteFirst(Type[] types)
putForConstructor
private static void putForConstructor(java.util.Map<java.lang.String,MemberReplacement> map,
MemberReplacement replacement)
getConstructorDesc
private static java.lang.String getConstructorDesc(java.lang.String desc)
loadConstructor
private void loadConstructor(ClassReplacement classReplacement,
MemberReplacement replacement)
isArgument
private static boolean isArgument(MethodDescriptor descriptor)
isInitializer
private static boolean isInitializer(MethodDescriptor descriptor,
java.lang.String referenceTypeName)
isClassAvailable
private boolean isClassAvailable(java.lang.String internalName)
getClassDescriptor
private ClassDescriptor getClassDescriptor(java.lang.String internalName)
isSupportedFeature
private boolean isSupportedFeature(AnnotatedElementDescriptor descriptor)
getUniqueTypeName
public java.lang.String getUniqueTypeName(java.lang.String className)
getReferenceTypeName
public java.lang.String getReferenceTypeName(java.lang.String className)
putIfAbsent
private static <K,V> void putIfAbsent(java.util.Map<K,V> map,
K key,
V value)
getTranslator
public NameTranslator getTranslator()