@@ -36,6 +36,10 @@ public class MapModule extends BaseModule
3636 public static final FunctionDependency ENUM_MAP = MODULE .createDependency ("EnumMap" ).addEntryDependency (IMPLEMENTATION );
3737 public static final FunctionDependency LINKED_ENUM_MAP = MODULE .createDependency ("LinkedEnumMap" ).addEntryDependency (ENUM_MAP ).addEntryDependency (ORDERED_MAP );
3838
39+ public static final FunctionDependency REF_MAP = MODULE .createDependency ("ReferenceHashMap" ).addEntryDependency (IMPLEMENTATION );
40+ public static final FunctionDependency LINKED_REF_MAP = MODULE .createDependency ("LinkedReferenceMap" ).addEntryDependency (REF_MAP ).addEntryDependency (ORDERED_MAP );
41+
42+
3943 public static final FunctionDependency CONCURRENT_MAP = MODULE .createDependency ("ConcurrentMap" ).addEntryDependency (IMPLEMENTATION );
4044 public static final FunctionDependency AVL_TREE_MAP = MODULE .createDependency ("AVLTreeMap" ).addEntryDependency (SORTED_MAP ).addEntryDependency (IMPLEMENTATION );
4145 public static final FunctionDependency RB_TREE_MAP = MODULE .createDependency ("RBTreeMap" ).addEntryDependency (SORTED_MAP ).addEntryDependency (IMPLEMENTATION );
@@ -51,7 +55,7 @@ protected void loadVariables() {}
5155 @ Override
5256 public List <IDependency > getDependencies (ClassType keyType , ClassType valueType ) {
5357 List <IDependency > dependencies = new ArrayList <>(Arrays .asList (MODULE , ORDERED_MAP , SORTED_MAP , IMPLEMENTATION , WRAPPERS , ARRAY_MAP , IMMUTABLE_MAP , HASH_MAP , LINKED_MAP , CUSTOM_MAP , LINKED_CUSTOM_MAP , CONCURRENT_MAP , AVL_TREE_MAP , RB_TREE_MAP ));
54- if (keyType == ClassType .OBJECT ) dependencies .addAll (Arrays .asList (ENUM_MAP , LINKED_ENUM_MAP ));
58+ if (keyType == ClassType .OBJECT ) dependencies .addAll (Arrays .asList (ENUM_MAP , LINKED_ENUM_MAP , REF_MAP , LINKED_REF_MAP ));
5559 return dependencies ;
5660 }
5761
@@ -70,6 +74,10 @@ protected void loadFlags()
7074 if (AVL_TREE_MAP .isEnabled ()) addFlag ("AVL_TREE_MAP_FEATURE" );
7175 if (RB_TREE_MAP .isEnabled ()) addFlag ("RB_TREE_MAP_FEATURE" );
7276
77+ if (REF_MAP .isEnabled ()) addFlag ("REF_MAP_FEATURE" );
78+ if (LINKED_REF_MAP .isEnabled ()) addFlag ("LINKED_REF_MAP_FEATURE" );
79+
80+
7381 if (CONCURRENT_MAP .isEnabled ()) addFlag ("CONCURRENT_MAP_FEATURE" );
7482 if (IMMUTABLE_MAP .isEnabled ()) addFlag ("IMMUTABLE_MAP_FEATURE" );
7583 if (HASH_MAP .isEnabled ()) addFlag ("MAP_FEATURE" );
@@ -85,6 +93,8 @@ protected void loadBlockades()
8593 if (!IMMUTABLE_MAP .isEnabled ()) addBlockedFiles ("ImmutableOpenHashMap" );
8694 if (!CONCURRENT_MAP .isEnabled ()) addBlockedFiles ("ConcurrentMap" , "ConcurrentOpenHashMap" );
8795 if (!ORDERED_MAP .isEnabled ()) addBlockedFiles ("OrderedMap" );
96+ if (!REF_MAP .isEnabled ()) addBlockedFiles ("ReferenceHashMap" );
97+ if (!LINKED_REF_MAP .isEnabled ()) addBlockedFiles ("LinkedReferenceHashMap" );
8898 if (!HASH_MAP .isEnabled ()) addBlockedFiles ("OpenHashMap" );
8999 if (!LINKED_MAP .isEnabled ()) addBlockedFiles ("LinkedOpenHashMap" );
90100 if (!CUSTOM_MAP .isEnabled ()) addBlockedFiles ("OpenCustomHashMap" );
@@ -127,6 +137,8 @@ protected void loadRemappers()
127137 addBiRequirement ("AbstractMap" );
128138 addEnumRequirement ("EnumMap" );
129139 addEnumRequirement ("LinkedEnumMap" );
140+ addEnumRequirement ("ReferenceHashMap" );
141+ addEnumRequirement ("LinkedReferenceHashMap" );
130142 addBiRequirement ("ConcurrentOpenHashMap" );
131143 addBiRequirement ("ImmutableOpenHashMap" );
132144 addBiRequirement ("OpenHashMap" );
@@ -141,6 +153,8 @@ protected void loadRemappers()
141153 addRemapper ("AbstractMap" , "Abstract%sMap" );
142154 addRemapper ("EnumMap" , "Enum2%sMap" );
143155 addRemapper ("LinkedEnumMap" , "LinkedEnum2%sMap" );
156+ addRemapper ("ReferenceHashMap" , "Reference2%sHashMap" );
157+ addRemapper ("LinkedReferenceHashMap" , "Reference2%sLinkedHashMap" );
144158 addRemapper ("ImmutableOpenHashMap" , "Immutable%sOpenHashMap" );
145159
146160 //Test Classes
@@ -249,6 +263,8 @@ protected void loadClasses()
249263 addBiClassMapper ("RB_TREE_MAP" , "RBTreeMap" , "2" );
250264 addFunctionValueMappers ("LINKED_ENUM_MAP" , valueType .isObject () ? "LinkedEnum2ObjectMap" : "LinkedEnum2%sMap" );
251265 addFunctionValueMappers ("ENUM_MAP" , valueType .isObject () ? "Enum2ObjectMap" : "Enum2%sMap" );
266+ addFunctionValueMappers ("REF_MAP" , valueType .isObject () ? "Reference2ObjectHashMap" : "Reference2%sHashMap" );
267+ addFunctionValueMappers ("LINKED_REF_MAP" , valueType .isObject () ? "Reference2ObjectLinkedHashMap" : "Reference2%sLinkedHashMap" );
252268 addBiClassMapper ("HASH_MAP" , "OpenHashMap" , "2" );
253269 addBiClassMapper ("ARRAY_MAP" , "ArrayMap" , "2" );
254270
0 commit comments