Package gw.internal.gosu.parser
Class EnhancementIndex
- java.lang.Object
-
- gw.internal.gosu.parser.EnhancementIndex
-
- All Implemented Interfaces:
IEnhancementIndex
public class EnhancementIndex extends java.lang.Object implements IEnhancementIndex
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classEnhancementIndex.EnhancementManagerA helper class that holds some data structures that we build up to manage method addition/replacement
-
Field Summary
Fields Modifier and Type Field Description private java.util.ArrayList<java.lang.String>_arrayEnhancementsprivate java.lang.String_currentEnhNameprivate java.util.Set<IType>_currentlyEnhancingprivate GosuClassTypeLoader_loaderprivate boolean_loadingIndexprivate java.util.Map<java.lang.String,java.util.ArrayList<java.lang.String>>_typeToEnhancementsMap
-
Constructor Summary
Constructors Constructor Description EnhancementIndex(GosuClassTypeLoader loader)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEnhancementMethods(IType typeToEnhance, java.util.Collection<IMethodInfo> methodsToAddTo)voidaddEnhancementProperties(IType typeToEnhance, java.util.Map<java.lang.CharSequence,IPropertyInfo> propertyInfosToAddTo, boolean caseSensitive)voidaddEntry(IType enhancedType, IGosuEnhancement enhancement)private voidcheckAndPushEnhancing(IType typeToEnhance)private voidcheckNotIndexing(IType typeToEnhance)private static java.lang.CharSequenceconvertCharSequenceToCorrectSensitivity(java.lang.CharSequence cs, boolean caseSensitive)private booleanenhancementApplies(IType typeEnhanced, IType typeToEnhance, boolean exact)private java.util.ArrayList<java.lang.String>getEnhancementIndexForType(java.lang.String strEnhancedTypeName)java.util.List<IGosuEnhancementInternal>getEnhancementsForType(IType typeToEnhance)java.lang.StringgetOrphanedEnhancement(java.lang.String typeName)(package private) java.util.Set<java.lang.String>getPossibleEnhancementsForTypeFromIndex(IType typeToGetEnhancementsFor)private java.lang.StringgetSimpleName(java.lang.String type)private booleanhasErrorTypeComponent(IType enhancedType)private java.util.Set<java.lang.String>indexEnhancements(RefreshRequest request)private java.util.Set<java.lang.String>indexEnhancements(java.lang.String[] enhancementNames)private static SourceCodeTokenizerinitializeTokenizer(ISourceFileHandle sfh)voidmaybeLoadEnhancementIndex()static java.lang.StringparseEnhancedTypeName(ISourceFileHandle sfh)private voidpopEnhancing(IType typeToEnhance)voidrefreshedTypes(RefreshRequest request)voidremoveEnhancement(java.lang.String enhancementName)voidremoveEntry(IGosuEnhancement enhancement)java.lang.StringtoString()
-
-
-
Field Detail
-
_loader
private GosuClassTypeLoader _loader
-
_typeToEnhancementsMap
private java.util.Map<java.lang.String,java.util.ArrayList<java.lang.String>> _typeToEnhancementsMap
-
_arrayEnhancements
private java.util.ArrayList<java.lang.String> _arrayEnhancements
-
_loadingIndex
private boolean _loadingIndex
-
_currentEnhName
private java.lang.String _currentEnhName
-
_currentlyEnhancing
private java.util.Set<IType> _currentlyEnhancing
-
-
Constructor Detail
-
EnhancementIndex
EnhancementIndex(GosuClassTypeLoader loader)
-
-
Method Detail
-
addEnhancementMethods
public void addEnhancementMethods(IType typeToEnhance, java.util.Collection<IMethodInfo> methodsToAddTo)
- Specified by:
addEnhancementMethodsin interfaceIEnhancementIndex
-
addEnhancementProperties
public void addEnhancementProperties(IType typeToEnhance, java.util.Map<java.lang.CharSequence,IPropertyInfo> propertyInfosToAddTo, boolean caseSensitive)
- Specified by:
addEnhancementPropertiesin interfaceIEnhancementIndex
-
popEnhancing
private void popEnhancing(IType typeToEnhance)
-
checkAndPushEnhancing
private void checkAndPushEnhancing(IType typeToEnhance)
-
checkNotIndexing
private void checkNotIndexing(IType typeToEnhance)
-
maybeLoadEnhancementIndex
public void maybeLoadEnhancementIndex()
- Specified by:
maybeLoadEnhancementIndexin interfaceIEnhancementIndex
-
indexEnhancements
private java.util.Set<java.lang.String> indexEnhancements(java.lang.String[] enhancementNames)
-
indexEnhancements
private java.util.Set<java.lang.String> indexEnhancements(RefreshRequest request)
-
getSimpleName
private java.lang.String getSimpleName(java.lang.String type)
-
parseEnhancedTypeName
public static java.lang.String parseEnhancedTypeName(ISourceFileHandle sfh)
-
initializeTokenizer
private static SourceCodeTokenizer initializeTokenizer(ISourceFileHandle sfh)
-
getEnhancementIndexForType
private java.util.ArrayList<java.lang.String> getEnhancementIndexForType(java.lang.String strEnhancedTypeName)
-
getEnhancementsForType
public java.util.List<IGosuEnhancementInternal> getEnhancementsForType(IType typeToEnhance)
- Specified by:
getEnhancementsForTypein interfaceIEnhancementIndex
-
refreshedTypes
public void refreshedTypes(RefreshRequest request)
- Specified by:
refreshedTypesin interfaceIEnhancementIndex
-
getOrphanedEnhancement
public java.lang.String getOrphanedEnhancement(java.lang.String typeName)
- Specified by:
getOrphanedEnhancementin interfaceIEnhancementIndex
-
enhancementApplies
private boolean enhancementApplies(IType typeEnhanced, IType typeToEnhance, boolean exact)
-
hasErrorTypeComponent
private boolean hasErrorTypeComponent(IType enhancedType)
-
getPossibleEnhancementsForTypeFromIndex
java.util.Set<java.lang.String> getPossibleEnhancementsForTypeFromIndex(IType typeToGetEnhancementsFor)
-
removeEntry
public void removeEntry(IGosuEnhancement enhancement)
- Specified by:
removeEntryin interfaceIEnhancementIndex
-
removeEnhancement
public void removeEnhancement(java.lang.String enhancementName)
-
addEntry
public void addEntry(IType enhancedType, IGosuEnhancement enhancement)
- Specified by:
addEntryin interfaceIEnhancementIndex
-
convertCharSequenceToCorrectSensitivity
private static java.lang.CharSequence convertCharSequenceToCorrectSensitivity(java.lang.CharSequence cs, boolean caseSensitive)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-