import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.Date;
-import net.sourceforge.phpdt.core.compiler.CharOperation;
-import net.sourceforge.phpdt.internal.compiler.util.Util;
import net.sourceforge.phpdt.internal.core.util.SimpleLookupTable;
-import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
public class State {
// NOTE: this state cannot contain types that are not defined in this project
//ClasspathLocation[] binaryLocations;
// keyed by the project relative path of the type (ie. "src1/p1/p2/A.java"), value is a ReferenceCollection or an
// AdditionalTypeCollection
- SimpleLookupTable references;
+// SimpleLookupTable references;
// keyed by qualified type name "p1/p2/A", value is the project relative path which defines this type "src1/p1/p2/A.java"
- SimpleLookupTable typeLocators;
+// SimpleLookupTable typeLocators;
int buildNumber;
long lastStructuralBuildTime;
this.javaProjectName = javaBuilder.currentProject.getName();
this.sourceLocations = javaBuilder.nameEnvironment.sourceLocations;
// this.binaryLocations = javaBuilder.nameEnvironment.binaryLocations;
- this.references = new SimpleLookupTable(7);
- this.typeLocators = new SimpleLookupTable(7);
+// this.references = new SimpleLookupTable(7);
+// this.typeLocators = new SimpleLookupTable(7);
this.buildNumber = 0; // indicates a full build
this.lastStructuralBuildTime = System.currentTimeMillis();
}
void copyFrom(State lastState) {
- try {
+// try {
this.knownPackageNames = null;
this.buildNumber = lastState.buildNumber + 1;
this.lastStructuralBuildTime = lastState.lastStructuralBuildTime;
- this.references = (SimpleLookupTable) lastState.references.clone();
- this.typeLocators = (SimpleLookupTable) lastState.typeLocators.clone();
- } catch (CloneNotSupportedException e) {
- this.references = new SimpleLookupTable(lastState.references.elementSize);
- Object[] keyTable = lastState.references.keyTable;
- Object[] valueTable = lastState.references.valueTable;
- for (int i = 0, l = keyTable.length; i < l; i++)
- if (keyTable[i] != null)
- this.references.put(keyTable[i], valueTable[i]);
-
- this.typeLocators = new SimpleLookupTable(lastState.typeLocators.elementSize);
- keyTable = lastState.typeLocators.keyTable;
- valueTable = lastState.typeLocators.valueTable;
- for (int i = 0, l = keyTable.length; i < l; i++)
- if (keyTable[i] != null)
- this.typeLocators.put(keyTable[i], valueTable[i]);
- }
- }
-
- char[][] getDefinedTypeNamesFor(String typeLocator) {
- Object c = references.get(typeLocator);
- if (c instanceof AdditionalTypeCollection)
- return ((AdditionalTypeCollection) c).definedTypeNames;
- return null; // means only one type is defined with the same name as the file... saves space
- }
-
- boolean isDuplicateLocator(String qualifiedTypeName, String typeLocator) {
- String existing = (String) typeLocators.get(qualifiedTypeName);
- return existing != null && !existing.equals(typeLocator);
- }
-
- boolean isKnownPackage(String qualifiedPackageName) {
- if (knownPackageNames == null) {
- ArrayList names = new ArrayList(typeLocators.elementSize);
- Object[] keyTable = typeLocators.keyTable;
- for (int i = 0, l = keyTable.length; i < l; i++) {
- if (keyTable[i] != null) {
- String packageName = (String) keyTable[i]; // is a type name of the form p1/p2/A
- int last = packageName.lastIndexOf('/');
- packageName = last == -1 ? null : packageName.substring(0, last);
- while (packageName != null && !names.contains(packageName)) {
- names.add(packageName);
- last = packageName.lastIndexOf('/');
- packageName = last == -1 ? null : packageName.substring(0, last);
- }
- }
- }
- knownPackageNames = new String[names.size()];
- names.toArray(knownPackageNames);
- }
- for (int i = 0, l = knownPackageNames.length; i < l; i++)
- if (knownPackageNames[i].equals(qualifiedPackageName))
- return true;
- return false;
+// this.references = (SimpleLookupTable) lastState.references.clone();
+// this.typeLocators = (SimpleLookupTable) lastState.typeLocators.clone();
+// } catch (CloneNotSupportedException e) {
+// this.references = new SimpleLookupTable(lastState.references.elementSize);
+// Object[] keyTable = lastState.references.keyTable;
+// Object[] valueTable = lastState.references.valueTable;
+// for (int i = 0, l = keyTable.length; i < l; i++)
+// if (keyTable[i] != null)
+// this.references.put(keyTable[i], valueTable[i]);
+//
+// this.typeLocators = new SimpleLookupTable(lastState.typeLocators.elementSize);
+// keyTable = lastState.typeLocators.keyTable;
+// valueTable = lastState.typeLocators.valueTable;
+// for (int i = 0, l = keyTable.length; i < l; i++)
+// if (keyTable[i] != null)
+// this.typeLocators.put(keyTable[i], valueTable[i]);
+// }
}
- void record(String typeLocator, char[][][] qualifiedRefs, char[][] simpleRefs, char[] mainTypeName, ArrayList typeNames) {
- if (typeNames.size() == 1 && CharOperation.equals(mainTypeName, (char[]) typeNames.get(0))) {
- references.put(typeLocator, new ReferenceCollection(qualifiedRefs, simpleRefs));
- } else {
- char[][] definedTypeNames = new char[typeNames.size()][]; // can be empty when no types are defined
- typeNames.toArray(definedTypeNames);
- references.put(typeLocator, new AdditionalTypeCollection(definedTypeNames, qualifiedRefs, simpleRefs));
- }
- }
-
- void recordLocatorForType(String qualifiedTypeName, String typeLocator) {
- this.knownPackageNames = null;
- typeLocators.put(qualifiedTypeName, typeLocator);
- }
+// char[][] getDefinedTypeNamesFor(String typeLocator) {
+// Object c = references.get(typeLocator);
+// if (c instanceof AdditionalTypeCollection)
+// return ((AdditionalTypeCollection) c).definedTypeNames;
+// return null; // means only one type is defined with the same name as the file... saves space
+// }
+
+// boolean isDuplicateLocator(String qualifiedTypeName, String typeLocator) {
+// String existing = (String) typeLocators.get(qualifiedTypeName);
+// return existing != null && !existing.equals(typeLocator);
+// }
+
+// boolean isKnownPackage(String qualifiedPackageName) {
+// if (knownPackageNames == null) {
+// ArrayList names = new ArrayList(typeLocators.elementSize);
+// Object[] keyTable = typeLocators.keyTable;
+// for (int i = 0, l = keyTable.length; i < l; i++) {
+// if (keyTable[i] != null) {
+// String packageName = (String) keyTable[i]; // is a type name of the form p1/p2/A
+// int last = packageName.lastIndexOf('/');
+// packageName = last == -1 ? null : packageName.substring(0, last);
+// while (packageName != null && !names.contains(packageName)) {
+// names.add(packageName);
+// last = packageName.lastIndexOf('/');
+// packageName = last == -1 ? null : packageName.substring(0, last);
+// }
+// }
+// }
+// knownPackageNames = new String[names.size()];
+// names.toArray(knownPackageNames);
+// }
+// for (int i = 0, l = knownPackageNames.length; i < l; i++)
+// if (knownPackageNames[i].equals(qualifiedPackageName))
+// return true;
+// return false;
+// }
+
+// void record(String typeLocator, char[][][] qualifiedRefs, char[][] simpleRefs, char[] mainTypeName, ArrayList typeNames) {
+// if (typeNames.size() == 1 && CharOperation.equals(mainTypeName, (char[]) typeNames.get(0))) {
+// references.put(typeLocator, new ReferenceCollection(qualifiedRefs, simpleRefs));
+// } else {
+// char[][] definedTypeNames = new char[typeNames.size()][]; // can be empty when no types are defined
+// typeNames.toArray(definedTypeNames);
+// references.put(typeLocator, new AdditionalTypeCollection(definedTypeNames, qualifiedRefs, simpleRefs));
+// }
+// }
+//
+// void recordLocatorForType(String qualifiedTypeName, String typeLocator) {
+// this.knownPackageNames = null;
+// typeLocators.put(qualifiedTypeName, typeLocator);
+// }
void recordStructuralDependency(IProject prereqProject, State prereqState) {
if (prereqState != null)
structuralBuildTimes.put(prereqProject.getName(), new Long(prereqState.lastStructuralBuildTime));
}
- void removeLocator(String typeLocatorToRemove) {
- this.knownPackageNames = null;
- references.removeKey(typeLocatorToRemove);
- typeLocators.removeValue(typeLocatorToRemove);
- }
+// void removeLocator(String typeLocatorToRemove) {
+// this.knownPackageNames = null;
+// references.removeKey(typeLocatorToRemove);
+// typeLocators.removeValue(typeLocatorToRemove);
+// }
void removePackage(IResourceDelta sourceDelta) {
IResource resource = sourceDelta.getResource();
return;
case IResource.FILE :
IPath typeLocatorPath = resource.getProjectRelativePath();
- if (Util.isJavaFileName(typeLocatorPath.lastSegment()))
- removeLocator(typeLocatorPath.toString());
+// if (Util.isJavaFileName(typeLocatorPath.lastSegment()))
+// removeLocator(typeLocatorPath.toString());
}
}
- void removeQualifiedTypeName(String qualifiedTypeNameToRemove) {
- this.knownPackageNames = null;
- typeLocators.removeKey(qualifiedTypeNameToRemove);
- }
+// void removeQualifiedTypeName(String qualifiedTypeNameToRemove) {
+// this.knownPackageNames = null;
+// typeLocators.removeKey(qualifiedTypeNameToRemove);
+// }
static State read(IProject project, DataInputStream in) throws IOException {
if (PHPBuilder.DEBUG)
}
newState.buildNumber = in.readInt();
newState.lastStructuralBuildTime = in.readLong();
-
- int length = in.readInt();
- newState.sourceLocations = new ClasspathMultiDirectory[0];
+
+ int length;
+// int length = in.readInt();
+// newState.sourceLocations = new ClasspathMultiDirectory[0];
// newState.sourceLocations = new ClasspathMultiDirectory[length];
// for (int i = 0; i < length; i++) {
// IContainer sourceFolder = project, outputFolder = project;
// newState.sourceLocations[i] = md;
// }
- length = in.readInt();
+// length = in.readInt();
// newState.binaryLocations = new ClasspathLocation[length];
// IWorkspaceRoot root = project.getWorkspace().getRoot();
// for (int i = 0; i < length; i++) {
for (int i = 0; i < length; i++)
newState.structuralBuildTimes.put(in.readUTF(), new Long(in.readLong()));
- String[] internedTypeLocators = new String[length = in.readInt()];
- for (int i = 0; i < length; i++)
- internedTypeLocators[i] = in.readUTF();
-
- newState.typeLocators = new SimpleLookupTable(length = in.readInt());
- for (int i = 0; i < length; i++)
- newState.typeLocators.put(in.readUTF(), internedTypeLocators[in.readInt()]);
-
- char[][] internedSimpleNames = ReferenceCollection.internSimpleNames(readNames(in), false);
- char[][][] internedQualifiedNames = new char[length = in.readInt()][][];
- for (int i = 0; i < length; i++) {
- int qLength = in.readInt();
- char[][] qName = new char[qLength][];
- for (int j = 0; j < qLength; j++)
- qName[j] = internedSimpleNames[in.readInt()];
- internedQualifiedNames[i] = qName;
- }
- internedQualifiedNames = ReferenceCollection.internQualifiedNames(internedQualifiedNames);
-
- newState.references = new SimpleLookupTable(length = in.readInt());
- for (int i = 0; i < length; i++) {
- String typeLocator = internedTypeLocators[in.readInt()];
- ReferenceCollection collection = null;
- switch (in.readByte()) {
- case 1 :
- char[][] additionalTypeNames = readNames(in);
- char[][][] qualifiedNames = new char[in.readInt()][][];
- for (int j = 0, m = qualifiedNames.length; j < m; j++)
- qualifiedNames[j] = internedQualifiedNames[in.readInt()];
- char[][] simpleNames = new char[in.readInt()][];
- for (int j = 0, m = simpleNames.length; j < m; j++)
- simpleNames[j] = internedSimpleNames[in.readInt()];
- collection = new AdditionalTypeCollection(additionalTypeNames, qualifiedNames, simpleNames);
- break;
- case 2 :
- char[][][] qNames = new char[in.readInt()][][];
- for (int j = 0, m = qNames.length; j < m; j++)
- qNames[j] = internedQualifiedNames[in.readInt()];
- char[][] sNames = new char[in.readInt()][];
- for (int j = 0, m = sNames.length; j < m; j++)
- sNames[j] = internedSimpleNames[in.readInt()];
- collection = new ReferenceCollection(qNames, sNames);
- }
- newState.references.put(typeLocator, collection);
- }
+// String[] internedTypeLocators = new String[length = in.readInt()];
+// for (int i = 0; i < length; i++)
+// internedTypeLocators[i] = in.readUTF();
+
+// newState.typeLocators = new SimpleLookupTable(length = in.readInt());
+// for (int i = 0; i < length; i++)
+// newState.typeLocators.put(in.readUTF(), internedTypeLocators[in.readInt()]);
+
+// char[][] internedSimpleNames = ReferenceCollection.internSimpleNames(readNames(in), false);
+// char[][][] internedQualifiedNames = new char[length = in.readInt()][][];
+// for (int i = 0; i < length; i++) {
+// int qLength = in.readInt();
+// char[][] qName = new char[qLength][];
+// for (int j = 0; j < qLength; j++)
+// qName[j] = internedSimpleNames[in.readInt()];
+// internedQualifiedNames[i] = qName;
+// }
+// internedQualifiedNames = ReferenceCollection.internQualifiedNames(internedQualifiedNames);
+//
+// newState.references = new SimpleLookupTable(length = in.readInt());
+// for (int i = 0; i < length; i++) {
+// String typeLocator = internedTypeLocators[in.readInt()];
+// ReferenceCollection collection = null;
+// switch (in.readByte()) {
+// case 1 :
+// char[][] additionalTypeNames = readNames(in);
+// char[][][] qualifiedNames = new char[in.readInt()][][];
+// for (int j = 0, m = qualifiedNames.length; j < m; j++)
+// qualifiedNames[j] = internedQualifiedNames[in.readInt()];
+// char[][] simpleNames = new char[in.readInt()][];
+// for (int j = 0, m = simpleNames.length; j < m; j++)
+// simpleNames[j] = internedSimpleNames[in.readInt()];
+// collection = new AdditionalTypeCollection(additionalTypeNames, qualifiedNames, simpleNames);
+// break;
+// case 2 :
+// char[][][] qNames = new char[in.readInt()][][];
+// for (int j = 0, m = qNames.length; j < m; j++)
+// qNames[j] = internedQualifiedNames[in.readInt()];
+// char[][] sNames = new char[in.readInt()][];
+// for (int j = 0, m = sNames.length; j < m; j++)
+// sNames[j] = internedSimpleNames[in.readInt()];
+// collection = new ReferenceCollection(qNames, sNames);
+// }
+// newState.references.put(typeLocator, collection);
+// }
if (PHPBuilder.DEBUG)
System.out.println("Successfully read state for " + newState.javaProjectName); //$NON-NLS-1$
return newState;
/*
* ClasspathMultiDirectory[] int id String path(s)
*/
- out.writeInt(length = sourceLocations.length);
- for (int i = 0; i < length; i++) {
- ClasspathMultiDirectory md = sourceLocations[i];
- out.writeUTF(md.sourceFolder.getProjectRelativePath().toString());
- out.writeUTF(md.binaryFolder.getProjectRelativePath().toString());
- writeNames(md.exclusionPatterns, out);
- out.writeBoolean(md.hasIndependentOutputFolder);
- }
+// out.writeInt(length = sourceLocations.length);
+// for (int i = 0; i < length; i++) {
+// ClasspathMultiDirectory md = sourceLocations[i];
+// out.writeUTF(md.sourceFolder.getProjectRelativePath().toString());
+// out.writeUTF(md.binaryFolder.getProjectRelativePath().toString());
+// writeNames(md.exclusionPatterns, out);
+// out.writeBoolean(md.hasIndependentOutputFolder);
+// }
/*
* ClasspathLocation[] int id String path(s)
/*
* String[] Interned type locators
*/
- out.writeInt(length = references.elementSize);
- ArrayList internedTypeLocators = new ArrayList(length);
- if (length > 0) {
- keyTable = references.keyTable;
- for (int i = 0, l = keyTable.length; i < l; i++) {
- if (keyTable[i] != null) {
- length--;
- String key = (String) keyTable[i];
- out.writeUTF(key);
- internedTypeLocators.add(key);
- }
- }
- if (PHPBuilder.DEBUG && length != 0)
- System.out.println("references table is inconsistent"); //$NON-NLS-1$
- }
+// out.writeInt(length = references.elementSize);
+// ArrayList internedTypeLocators = new ArrayList(length);
+// if (length > 0) {
+// keyTable = references.keyTable;
+// for (int i = 0, l = keyTable.length; i < l; i++) {
+// if (keyTable[i] != null) {
+// length--;
+// String key = (String) keyTable[i];
+// out.writeUTF(key);
+// internedTypeLocators.add(key);
+// }
+// }
+// if (PHPBuilder.DEBUG && length != 0)
+// System.out.println("references table is inconsistent"); //$NON-NLS-1$
+// }
/*
* Type locators table String type name int interned locator id
*/
- out.writeInt(length = typeLocators.elementSize);
- if (length > 0) {
- keyTable = typeLocators.keyTable;
- valueTable = typeLocators.valueTable;
- for (int i = 0, l = keyTable.length; i < l; i++) {
- if (keyTable[i] != null) {
- length--;
- out.writeUTF((String) keyTable[i]);
- out.writeInt(internedTypeLocators.indexOf((String) valueTable[i]));
- }
- }
- if (PHPBuilder.DEBUG && length != 0)
- System.out.println("typeLocators table is inconsistent"); //$NON-NLS-1$
- }
+// out.writeInt(length = typeLocators.elementSize);
+// if (length > 0) {
+// keyTable = typeLocators.keyTable;
+// valueTable = typeLocators.valueTable;
+// for (int i = 0, l = keyTable.length; i < l; i++) {
+// if (keyTable[i] != null) {
+// length--;
+// out.writeUTF((String) keyTable[i]);
+// out.writeInt(internedTypeLocators.indexOf((String) valueTable[i]));
+// }
+// }
+// if (PHPBuilder.DEBUG && length != 0)
+// System.out.println("typeLocators table is inconsistent"); //$NON-NLS-1$
+// }
/*
* char[][][] Interned qualified names char[][] Interned simple names
*/
- ArrayList internedQualifiedNames = new ArrayList(31);
- ArrayList internedSimpleNames = new ArrayList(31);
- valueTable = references.valueTable;
- for (int i = 0, l = valueTable.length; i < l; i++) {
- if (valueTable[i] != null) {
- ReferenceCollection collection = (ReferenceCollection) valueTable[i];
- char[][][] qNames = collection.qualifiedNameReferences;
- for (int j = 0, m = qNames.length; j < m; j++) {
- char[][] qName = qNames[j];
- if (!internedQualifiedNames.contains(qName)) { // remember the names have been interned
- internedQualifiedNames.add(qName);
- for (int k = 0, n = qName.length; k < n; k++) {
- char[] sName = qName[k];
- if (!internedSimpleNames.contains(sName)) // remember the names have been interned
- internedSimpleNames.add(sName);
- }
- }
- }
- char[][] sNames = collection.simpleNameReferences;
- for (int j = 0, m = sNames.length; j < m; j++) {
- char[] sName = sNames[j];
- if (!internedSimpleNames.contains(sName)) // remember the names have been interned
- internedSimpleNames.add(sName);
- }
- }
- }
- char[][] internedArray = new char[internedSimpleNames.size()][];
- internedSimpleNames.toArray(internedArray);
- writeNames(internedArray, out);
- // now write the interned qualified names as arrays of interned simple names
- out.writeInt(length = internedQualifiedNames.size());
- for (int i = 0; i < length; i++) {
- char[][] qName = (char[][]) internedQualifiedNames.get(i);
- int qLength = qName.length;
- out.writeInt(qLength);
- for (int j = 0; j < qLength; j++)
- out.writeInt(internedSimpleNames.indexOf(qName[j]));
- }
-
- /*
- * References table int interned locator id ReferenceCollection
- */
- out.writeInt(length = references.elementSize);
- if (length > 0) {
- keyTable = references.keyTable;
- for (int i = 0, l = keyTable.length; i < l; i++) {
- if (keyTable[i] != null) {
- length--;
- out.writeInt(internedTypeLocators.indexOf((String) keyTable[i]));
- ReferenceCollection collection = (ReferenceCollection) valueTable[i];
- if (collection instanceof AdditionalTypeCollection) {
- out.writeByte(1);
- AdditionalTypeCollection atc = (AdditionalTypeCollection) collection;
- writeNames(atc.definedTypeNames, out);
- } else {
- out.writeByte(2);
- }
- char[][][] qNames = collection.qualifiedNameReferences;
- int qLength = qNames.length;
- out.writeInt(qLength);
- for (int j = 0; j < qLength; j++)
- out.writeInt(internedQualifiedNames.indexOf(qNames[j]));
- char[][] sNames = collection.simpleNameReferences;
- int sLength = sNames.length;
- out.writeInt(sLength);
- for (int j = 0; j < sLength; j++)
- out.writeInt(internedSimpleNames.indexOf(sNames[j]));
- }
- }
- if (PHPBuilder.DEBUG && length != 0)
- System.out.println("references table is inconsistent"); //$NON-NLS-1$
- }
+// ArrayList internedQualifiedNames = new ArrayList(31);
+// ArrayList internedSimpleNames = new ArrayList(31);
+// valueTable = references.valueTable;
+// for (int i = 0, l = valueTable.length; i < l; i++) {
+// if (valueTable[i] != null) {
+// ReferenceCollection collection = (ReferenceCollection) valueTable[i];
+// char[][][] qNames = collection.qualifiedNameReferences;
+// for (int j = 0, m = qNames.length; j < m; j++) {
+// char[][] qName = qNames[j];
+// if (!internedQualifiedNames.contains(qName)) { // remember the names have been interned
+// internedQualifiedNames.add(qName);
+// for (int k = 0, n = qName.length; k < n; k++) {
+// char[] sName = qName[k];
+// if (!internedSimpleNames.contains(sName)) // remember the names have been interned
+// internedSimpleNames.add(sName);
+// }
+// }
+// }
+// char[][] sNames = collection.simpleNameReferences;
+// for (int j = 0, m = sNames.length; j < m; j++) {
+// char[] sName = sNames[j];
+// if (!internedSimpleNames.contains(sName)) // remember the names have been interned
+// internedSimpleNames.add(sName);
+// }
+// }
+// }
+// char[][] internedArray = new char[internedSimpleNames.size()][];
+// internedSimpleNames.toArray(internedArray);
+// writeNames(internedArray, out);
+// // now write the interned qualified names as arrays of interned simple names
+// out.writeInt(length = internedQualifiedNames.size());
+// for (int i = 0; i < length; i++) {
+// char[][] qName = (char[][]) internedQualifiedNames.get(i);
+// int qLength = qName.length;
+// out.writeInt(qLength);
+// for (int j = 0; j < qLength; j++)
+// out.writeInt(internedSimpleNames.indexOf(qName[j]));
+// }
+//
+// /*
+// * References table int interned locator id ReferenceCollection
+// */
+// out.writeInt(length = references.elementSize);
+// if (length > 0) {
+// keyTable = references.keyTable;
+// for (int i = 0, l = keyTable.length; i < l; i++) {
+// if (keyTable[i] != null) {
+// length--;
+// out.writeInt(internedTypeLocators.indexOf((String) keyTable[i]));
+// ReferenceCollection collection = (ReferenceCollection) valueTable[i];
+// if (collection instanceof AdditionalTypeCollection) {
+// out.writeByte(1);
+// AdditionalTypeCollection atc = (AdditionalTypeCollection) collection;
+// writeNames(atc.definedTypeNames, out);
+// } else {
+// out.writeByte(2);
+// }
+// char[][][] qNames = collection.qualifiedNameReferences;
+// int qLength = qNames.length;
+// out.writeInt(qLength);
+// for (int j = 0; j < qLength; j++)
+// out.writeInt(internedQualifiedNames.indexOf(qNames[j]));
+// char[][] sNames = collection.simpleNameReferences;
+// int sLength = sNames.length;
+// out.writeInt(sLength);
+// for (int j = 0; j < sLength; j++)
+// out.writeInt(internedSimpleNames.indexOf(sNames[j]));
+// }
+// }
+// if (PHPBuilder.DEBUG && length != 0)
+// System.out.println("references table is inconsistent"); //$NON-NLS-1$
+// }
}
private void writeNames(char[][] names, DataOutputStream out) throws IOException {