Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogdan Gheorghe2005-05-26 20:00:16 +0000
committerBogdan Gheorghe2005-05-26 20:00:16 +0000
commit3720c60ebdf3327b791204217dd2f8f9cfd36cb9 (patch)
tree94ef2aad843e999064b7bb6c4ff4cfb16511ffb2
parent86baacedc837c93de2d73a8328b62794eab18724 (diff)
downloadorg.eclipse.cdt-3720c60ebdf3327b791204217dd2f8f9cfd36cb9.tar.gz
org.eclipse.cdt-3720c60ebdf3327b791204217dd2f8f9cfd36cb9.tar.xz
org.eclipse.cdt-3720c60ebdf3327b791204217dd2f8f9cfd36cb9.zip
Refactoring for the DOM Indexer to use new IIndexEntry encoding
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/FunctionEntry.java4
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IIndexQuery.java92
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/CGenerateIndexVisitor.java30
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/CPPGenerateIndexVisitor.java36
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/DOMSourceIndexerRunner.java8
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/IndexerOutputWrapper.java151
6 files changed, 203 insertions, 118 deletions
diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/FunctionEntry.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/FunctionEntry.java
index f597a8d8ebd..1249d13fedc 100644
--- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/FunctionEntry.java
+++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/FunctionEntry.java
@@ -12,10 +12,10 @@
package org.eclipse.cdt.internal.core.index;
public class FunctionEntry extends NamedEntry implements IFunctionEntry {
-
char[][] signature;
-
+ char[] returnString;
+
public FunctionEntry(int metakind, int entry_type, char[][] fullName, int modifiers,int fileNumber){
super(metakind,entry_type,fullName, modifiers, fileNumber);
}
diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IIndexQuery.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IIndexQuery.java
new file mode 100644
index 00000000000..1af8c40e0df
--- /dev/null
+++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IIndexQuery.java
@@ -0,0 +1,92 @@
+/**********************************************************************
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.cdt.internal.core.index;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IPath;
+
+/**
+ * Generic indexer query interface to allow for queries of any existing indexer storage mechanism
+ * To be considered in development.
+ * @author bgheorgh
+ * @since 3.0
+ */
+public interface IIndexQuery {
+
+ /**
+ * Metakind bit field constants
+ */
+ final static int CLASS = 1;
+ final static int STRUCT = 2;
+ final static int UNION = 4;
+ final static int ENUM = 8;
+ final static int VAR = 16;
+ final static int TYPEDEF = 32;
+ final static int FUNCTION = 64;
+ final static int METHOD = 128;
+ final static int FIELD = 256;
+ final static int MACRO = 512;
+ final static int NAMESPACE = 1024;
+ final static int ENUMTOR = 2048;
+ final static int INCLUDE = 4096;
+
+ /**
+ * Type bit field
+ */
+ final static int DECLARATION = 1;
+ final static int DEFINITION = 2;
+ final static int REFERENCE= 4;
+
+ /**
+ * Returns the entries in the index corresponding to the passed in:
+ *
+ * @param metakind - bit field that indicates the kinds to retrieve
+ * @param type - bit field that indiciates what type of kinds to look for
+ * @param pattern - String array that contains the elements of a pattern;
+ * the interpretation of this array is left up to the implementor; can be left null
+ * in which case a match is attempted based on the metakind and type fields
+ * @param path - an IPath array that is used to limit the query; can be null to indicate
+ * entire workspace
+ *
+ * @return IIndexEntry
+ */
+ IIndexEntry[] getIndexEntries(int metakind, int type, String[] pattern, IPath[] paths);
+
+ /**
+ * Returns the entries in the index corresponding to the passed in:
+ *
+ * @param metakind - bit field that indicates the kinds to retrieve
+ * @param type - bit field that indiciates what type of kinds to look for
+ * @param pattern - String array that contains the elements of a pattern;
+ * the interpretation of this array is left up to the implementor; can be left null
+ * in which case a match is attempted based on the metakind and type fields
+ * @param projects - an IProject array that contains the projects that are to be queried
+ *
+ * @return IIndexEntry
+ */
+ IIndexEntry[] getIndexEntries(int metakind, int type, String[] pattern, IProject[] projects);
+
+ /**
+ * Returns the entries in the index corresponding to the passed in:
+ *
+ * @param metakind - bit field that indicates the kinds to retrieve
+ * @param type - bit field that indiciates what type of kinds to look for
+ * @param pattern - String array that contains the elements of a pattern;
+ * the interpretation of this array is left up to the implementor; can be left null
+ * in which case a match is attempted based on the metakind and type fields
+ * @param projects - an IProject array that contains the projects that are to be queried
+ * @param additionalPaths - an array for additional paths to query
+ *
+ * @return IIndexEntry
+ */
+ IIndexEntry[] getIndexEntries(int metakind, int type, String[] pattern, IProject[] projects, IPath[] additionalPaths);
+
+}
diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/CGenerateIndexVisitor.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/CGenerateIndexVisitor.java
index 2aaee802733..d7b718abeb5 100644
--- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/CGenerateIndexVisitor.java
+++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/CGenerateIndexVisitor.java
@@ -156,24 +156,24 @@ public class CGenerateIndexVisitor extends CASTVisitor {
entryType = IndexerOutputWrapper.FUNCTION;
if (entryType != null) {
+ int entryKind=0;
if (name.isDeclaration()) {
- IndexerOutputWrapper.addNameDecl(indexer.getOutput(),
- getFullyQualifiedName(name),
- entryType,
- fileNumber,
- loc.getNodeOffset(),
- loc.getNodeLength(),
- IIndex.OFFSET);
- }
+ entryKind=IIndex.DECLARATION;
+ }/* else if (name.isDefinition()){
+ entryKind=IIndex.DEFINITION;
+ }*/
else if (name.isReference()) {
- IndexerOutputWrapper.addNameRef(indexer.getOutput(),
- getFullyQualifiedName(name),
- entryType,
- fileNumber,
- loc.getNodeOffset(),
- loc.getNodeLength(),
- IIndex.OFFSET);
+ entryKind=IIndex.REFERENCE;
}
+
+ IndexerOutputWrapper.addIndexEntry(indexer.getOutput(),
+ getFullyQualifiedName(name),
+ entryType,
+ entryKind,
+ fileNumber,
+ loc.getNodeOffset(),
+ loc.getNodeLength(),
+ IIndex.OFFSET);
}
}
diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/CPPGenerateIndexVisitor.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/CPPGenerateIndexVisitor.java
index b95e2971890..20e57d4e2d0 100644
--- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/CPPGenerateIndexVisitor.java
+++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/CPPGenerateIndexVisitor.java
@@ -143,6 +143,9 @@ public class CPPGenerateIndexVisitor extends CPPASTVisitor {
if (name.isDeclaration()) {
limitTo = ICSearchConstants.DECLARATIONS;
}
+ else if (name.isDefinition()){
+ limitTo = ICSearchConstants.DEFINITIONS;
+ }
else if (name.isReference()) {
limitTo = ICSearchConstants.REFERENCES;
}
@@ -217,24 +220,26 @@ public class CPPGenerateIndexVisitor extends CPPASTVisitor {
}
if (entryType != null) {
+ int entryKind =0;
if (limitTo == ICSearchConstants.DECLARATIONS) {
- IndexerOutputWrapper.addNameDecl(indexer.getOutput(),
- getFullyQualifiedName(binding),
- entryType,
- fileNumber,
- loc.getNodeOffset(),
- loc.getNodeLength(),
- IIndex.OFFSET);
+ entryKind = IIndex.DECLARATION;
}
+ /*else if (limitTo == ICSearchConstants.DEFINITIONS) {
+ entryKind = IIndex.DEFINITION;
+ }*/
else if (limitTo == ICSearchConstants.REFERENCES) {
- IndexerOutputWrapper.addNameRef(indexer.getOutput(),
- getFullyQualifiedName(binding),
- entryType,
- fileNumber,
- loc.getNodeOffset(),
- loc.getNodeLength(),
- IIndex.OFFSET);
+ entryKind = IIndex.REFERENCE;
}
+
+ IndexerOutputWrapper.addIndexEntry(indexer.getOutput(),
+ getFullyQualifiedName(binding),
+ entryType,
+ entryKind,
+ fileNumber,
+ loc.getNodeOffset(),
+ loc.getNodeLength(),
+ IIndex.OFFSET);
+
}
}
@@ -251,8 +256,9 @@ public class CPPGenerateIndexVisitor extends CPPASTVisitor {
if (compositeKey == ICPPClassType.k_class || compositeKey == ICompositeType.k_struct) {
if (prop == ICPPASTBaseSpecifier.NAME) {
// base class
- IndexerOutputWrapper.addNameDecl(indexer.getOutput(), getFullyQualifiedName(compBinding),
+ IndexerOutputWrapper.addIndexEntry(indexer.getOutput(), getFullyQualifiedName(compBinding),
IndexerOutputWrapper.DERIVED,
+ IIndex.DECLARATION,
fileNumber,
loc.getNodeOffset(),
loc.getNodeLength(),
diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/DOMSourceIndexerRunner.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/DOMSourceIndexerRunner.java
index 54e1fb810e8..ad9c6b3afd1 100644
--- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/DOMSourceIndexerRunner.java
+++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/DOMSourceIndexerRunner.java
@@ -64,7 +64,7 @@ public class DOMSourceIndexerRunner extends AbstractIndexer {
static int errorCount = 0;
static Map errors = new HashMap();
- public DOMSourceIndexerRunner(IFile resource, SourceIndexer indexer) {
+ public DOMSourceIndexerRunner(IFile resource, SourceIndexer indexer) {
this.resourceFile = resource;
this.indexer = indexer;
}
@@ -259,9 +259,10 @@ public class DOMSourceIndexerRunner extends AbstractIndexer {
getOutput().addRelatives(fileNumber, include,
(parent != null) ? parent.getIncludeDirective().getPath() : null);
- IndexerOutputWrapper.addNameRef(getOutput(),
+ IndexerOutputWrapper.addIndexEntry(getOutput(),
new char[][] {include.toCharArray()},
IndexerOutputWrapper.INCLUDE,
+ IIndex.REFERENCE,
fileNumber,
1,
1,
@@ -288,9 +289,10 @@ public class DOMSourceIndexerRunner extends AbstractIndexer {
// Get the location
IASTFileLocation loc = IndexEncoderUtil.getFileLocation(macro);
int fileNumber = IndexEncoderUtil.calculateIndexFlags(this, loc);
- IndexerOutputWrapper.addNameDecl(getOutput(),
+ IndexerOutputWrapper.addIndexEntry(getOutput(),
new char[][] {macro.toCharArray()},
IndexerOutputWrapper.MACRO,
+ IIndex.DECLARATION,
fileNumber,
loc.getNodeOffset(),
loc.getNodeLength(),
diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/IndexerOutputWrapper.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/IndexerOutputWrapper.java
index 67b9630cd83..f469572aef1 100644
--- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/IndexerOutputWrapper.java
+++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/domsourceindexer/IndexerOutputWrapper.java
@@ -10,7 +10,11 @@
**********************************************************************/
package org.eclipse.cdt.internal.core.index.domsourceindexer;
+import org.eclipse.cdt.internal.core.index.FunctionEntry;
+import org.eclipse.cdt.internal.core.index.IIndex;
import org.eclipse.cdt.internal.core.index.IIndexerOutput;
+import org.eclipse.cdt.internal.core.index.NamedEntry;
+import org.eclipse.cdt.internal.core.index.TypeEntry;
/**
@@ -74,9 +78,10 @@ class IndexerOutputWrapper {
private IndexerOutputWrapper() {
}
- static void addNameDecl(IIndexerOutput indexerOutput,
+ static void addIndexEntry (IIndexerOutput indexerOutput,
char[][] name,
EntryType entryType,
+ int entryKind,
int fileNumber,
int offset,
int length,
@@ -84,123 +89,103 @@ class IndexerOutputWrapper {
//TODO temporary until all bindings are completed
if (name == null)
name = new char[][] {"NPE".toCharArray()}; //$NON-NLS-1$
+
+ TypeEntry typeEntry;
+ NamedEntry namedEntry;
+ FunctionEntry functionEntry;
+
switch (entryType.toInt()) {
case CLASS_CONST:
- indexerOutput.addClassDecl(fileNumber, name, offset, length, offsetType);
+ typeEntry = new TypeEntry(IIndex.TYPE_CLASS,entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ typeEntry.setNameOffset(offset, length, offsetType);
+ //typeEntry.setBaseTypes(getInherits());
+ typeEntry.serialize(indexerOutput);
break;
case STRUCT_CONST:
- indexerOutput.addStructDecl(fileNumber, name, offset, length, offsetType);
+ typeEntry = new TypeEntry(IIndex.TYPE_STRUCT,entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ typeEntry.setNameOffset(offset, length, offsetType);
+ //typeEntry.setBaseTypes(getInherits());
+ typeEntry.serialize(indexerOutput);
break;
case UNION_CONST:
- indexerOutput.addUnionDecl(fileNumber, name, offset, length, offsetType);
+ typeEntry = new TypeEntry(IIndex.TYPE_UNION,entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ typeEntry.setNameOffset(offset, length, offsetType);
+ //typeEntry.setBaseTypes(getInherits());
+ typeEntry.serialize(indexerOutput);
break;
case ENUM_CONST:
- indexerOutput.addEnumDecl(fileNumber, name, offset, length, offsetType);
+ typeEntry = new TypeEntry(IIndex.TYPE_ENUM ,entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ typeEntry.setNameOffset(offset, length, offsetType);
+ typeEntry.serialize(indexerOutput);
break;
case VAR_CONST:
- indexerOutput.addVariableDecl(fileNumber, name, offset, length, offsetType);
+ typeEntry = new TypeEntry(IIndex.TYPE_VAR ,entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ typeEntry.setNameOffset(offset, length, offsetType);
+ typeEntry.serialize(indexerOutput);
break;
case TYPEDEF_CONST:
- indexerOutput.addTypedefDecl(fileNumber, name, offset, length, offsetType);
+ typeEntry = new TypeEntry(IIndex.TYPE_TYPEDEF, entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ typeEntry.setNameOffset(offset, length, offsetType);
+ typeEntry.serialize(indexerOutput);
break;
case DERIVED_CONST:
- indexerOutput.addDerivedDecl(fileNumber, name, offset, length, offsetType);
+ typeEntry = new TypeEntry(IIndex.TYPE_DERIVED ,entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ typeEntry.setNameOffset(offset, length, offsetType);
+ typeEntry.serialize(indexerOutput);
break;
case FRIEND_CONST:
- indexerOutput.addFriendDecl(fileNumber, name, offset, length, offsetType);
+ typeEntry = new TypeEntry(IIndex.TYPE_FRIEND ,entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ typeEntry.setNameOffset(offset, length, offsetType);
+ typeEntry.serialize(indexerOutput);
break;
case FWD_CLASS_CONST:
- indexerOutput.addFwd_ClassDecl(fileNumber, name, offset, length, offsetType);
+ typeEntry = new TypeEntry(IIndex.TYPE_FWD_CLASS ,entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ typeEntry.setNameOffset(offset, length, offsetType);
+ typeEntry.serialize(indexerOutput);
break;
case FWD_STRUCT_CONST:
- indexerOutput.addFwd_StructDecl(fileNumber, name, offset, length, offsetType);
+ typeEntry = new TypeEntry(IIndex.TYPE_FWD_STRUCT ,entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ typeEntry.setNameOffset(offset, length, offsetType);
+ typeEntry.serialize(indexerOutput);
break;
case FWD_UNION_CONST:
- indexerOutput.addFwd_UnionDecl(fileNumber, name, offset, length, offsetType);
+ typeEntry = new TypeEntry(IIndex.TYPE_FWD_UNION ,entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ typeEntry.setNameOffset(offset, length, offsetType);
+ typeEntry.serialize(indexerOutput);
break;
case NAMESPACE_CONST:
- indexerOutput.addNamespaceDecl(fileNumber, name, offset, length, offsetType);
+ namedEntry = new NamedEntry(IIndex.NAMESPACE, entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ namedEntry.setNameOffset(offset, length, offsetType);
+ namedEntry.serialize(indexerOutput);
break;
case ENUMERATOR_CONST:
- indexerOutput.addEnumtorDecl(fileNumber, name, offset, length, offsetType);
+ namedEntry = new NamedEntry(IIndex.ENUMTOR, entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ namedEntry.setNameOffset(offset, length, offsetType);
+ namedEntry.serialize(indexerOutput);
break;
case FIELD_CONST:
- indexerOutput.addFieldDecl(fileNumber, name, offset, length, offsetType);
+ namedEntry = new NamedEntry(IIndex.FIELD, entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ namedEntry.setNameOffset(offset, length, offsetType);
+ namedEntry.serialize(indexerOutput);
break;
case METHOD_CONST:
- indexerOutput.addMethodDecl(fileNumber, name, offset, length, offsetType);
+ functionEntry = new FunctionEntry(IIndex.METHOD, entryKind,name,0 /*getModifiers()*/, fileNumber);
+ //funEntry.setSignature(getFunctionSignature());
+ functionEntry.setNameOffset(offset, length, offsetType);
+ functionEntry.serialize(indexerOutput);
break;
case FUNCTION_CONST:
- indexerOutput.addFunctionDecl(fileNumber, name, offset, length, offsetType);
+ functionEntry = new FunctionEntry(IIndex.FUNCTION, entryKind,name,0 /*getModifiers()*/, fileNumber);
+ //funEntry.setSignature(getFunctionSignature());
+ functionEntry.setNameOffset(offset, length, offsetType);
+ functionEntry.serialize(indexerOutput);
break;
case MACRO_CONST:
- indexerOutput.addMacroDecl(fileNumber, name, offset, length, offsetType);
- break;
- }
- }
-
- static void addNameRef(IIndexerOutput indexerOutput,
- char[][] name,
- EntryType entryType,
- int fileNumber,
- int offset,
- int length,
- int offsetType) {
- //TODO temporary until all bindings are completed
- if (name == null)
- name = new char[][] {"NPE".toCharArray()}; //$NON-NLS-1$
- switch (entryType.toInt()) {
- case CLASS_CONST:
- indexerOutput.addClassRef(fileNumber, name, offset, length, offsetType);
- break;
- case STRUCT_CONST:
- indexerOutput.addStructRef(fileNumber, name, offset, length, offsetType);
- break;
- case UNION_CONST:
- indexerOutput.addUnionRef(fileNumber, name, offset, length, offsetType);
- break;
- case ENUM_CONST:
- indexerOutput.addEnumRef(fileNumber, name, offset, length, offsetType);
- break;
- case VAR_CONST:
- indexerOutput.addVariableRef(fileNumber, name, offset, length, offsetType);
- break;
- case TYPEDEF_CONST:
- indexerOutput.addTypedefRef(fileNumber, name, offset, length, offsetType);
- break;
- case DERIVED_CONST:
- indexerOutput.addDerivedRef(fileNumber, name, offset, length, offsetType);
- break;
- case FRIEND_CONST:
- indexerOutput.addFriendRef(fileNumber, name, offset, length, offsetType);
- break;
- case FWD_CLASS_CONST:
- indexerOutput.addFwd_ClassRef(fileNumber, name, offset, length, offsetType);
- break;
- case FWD_STRUCT_CONST:
- indexerOutput.addFwd_StructRef(fileNumber, name, offset, length, offsetType);
- break;
- case FWD_UNION_CONST:
- indexerOutput.addFwd_UnionRef(fileNumber, name, offset, length, offsetType);
- break;
- case NAMESPACE_CONST:
- indexerOutput.addNamespaceRef(fileNumber, name, offset, length, offsetType);
- break;
- case ENUMERATOR_CONST:
- indexerOutput.addEnumtorRef(fileNumber, name, offset, length, offsetType);
- break;
- case FIELD_CONST:
- indexerOutput.addFieldRef(fileNumber, name, offset, length, offsetType);
- break;
- case METHOD_CONST:
- indexerOutput.addMethodRef(fileNumber, name, offset, length, offsetType);
- break;
- case FUNCTION_CONST:
- indexerOutput.addFunctionRef(fileNumber, name, offset, length, offsetType);
- break;
- case INCLUDE_CONST:
- indexerOutput.addIncludeRef(fileNumber, name, offset, length, offsetType);
+ namedEntry = new NamedEntry(IIndex.MACRO, entryKind, name, 0 /*getModifiers()*/, fileNumber);
+ namedEntry.setNameOffset(offset, length, offsetType);
+ namedEntry.serialize(indexerOutput);
break;
}
}
+
}

Back to the top