1130sub GenerateImplementationIndexer
1131{
1132 my $dataNode = shift;
1133 my $indexer = shift;
1134 my $interfaceName = $dataNode->name;
1135
1136 if ($dataNode->extendedAttributes->{"HasIndexGetter"}) {
1137 $implIncludes{"V8Collection.h"} = 1;
1138 if (!$dataNode->extendedAttributes->{"HasCustomIndexGetter"}) {
1139 if ($indexer->type eq "DOMString") {
1140 my $conversion = $indexer->extendedAttributes->{"ConvertNullStringTo"};
1141 if ($conversion && $conversion eq "Null") {
1142 push(@implContent, <<END);
1143 setCollectionStringOrNullIndexedGetter<${interfaceName}>(desc);
1144END
1145 } else {
1146 push(@implContent, <<END);
1147 setCollectionStringIndexedGetter<${interfaceName}>(desc);
1148END
1149 }
1150 } else {
1151 my $indexerType = $indexer->type;
1152 my $indexerClassIndex = uc($indexerType);
1153 push(@implContent, <<END);
1154 setCollectionIndexedGetter<${interfaceName}, ${indexerType}>(desc, V8ClassIndex::${indexerClassIndex});
1155END
1156 }
1157 }
1158 }
1159}
1160