Rename NameTable -> StringTable in serialization

Since almost the beginning, it was also used to store arbitrary strings, not
just names
This commit is contained in:
Alexander Udalov
2014-12-01 11:58:20 +03:00
parent 66774c0fd1
commit 9bd815126b
10 changed files with 57 additions and 55 deletions
@@ -33,19 +33,19 @@ import static org.jetbrains.jet.lang.resolve.DescriptorUtils.*;
public class DescriptorSerializer {
private final NameTable nameTable;
private final StringTable stringTable;
private final Interner<TypeParameterDescriptor> typeParameters;
private final SerializerExtension extension;
private DescriptorSerializer(NameTable nameTable, Interner<TypeParameterDescriptor> typeParameters, SerializerExtension extension) {
this.nameTable = nameTable;
private DescriptorSerializer(StringTable stringTable, Interner<TypeParameterDescriptor> typeParameters, SerializerExtension extension) {
this.stringTable = stringTable;
this.typeParameters = typeParameters;
this.extension = extension;
}
@NotNull
public static DescriptorSerializer createTopLevel(@NotNull SerializerExtension extension) {
return new DescriptorSerializer(new NameTable(), new Interner<TypeParameterDescriptor>(), extension);
return new DescriptorSerializer(new StringTable(), new Interner<TypeParameterDescriptor>(), extension);
}
@NotNull
@@ -67,12 +67,12 @@ public class DescriptorSerializer {
}
private DescriptorSerializer createChildSerializer() {
return new DescriptorSerializer(nameTable, new Interner<TypeParameterDescriptor>(typeParameters), extension);
return new DescriptorSerializer(stringTable, new Interner<TypeParameterDescriptor>(typeParameters), extension);
}
@NotNull
public NameTable getNameTable() {
return nameTable;
public StringTable getStringTable() {
return stringTable;
}
@NotNull
@@ -121,7 +121,7 @@ public class DescriptorSerializer {
}
for (DeclarationDescriptor descriptor : sort(classDescriptor.getUnsubstitutedInnerClassesScope().getAllDescriptors())) {
int name = nameTable.getSimpleNameIndex(descriptor.getName());
int name = stringTable.getSimpleNameIndex(descriptor.getName());
if (isEnumEntry(descriptor)) {
builder.addEnumEntry(name);
}
@@ -214,7 +214,7 @@ public class DescriptorSerializer {
builder.setReceiverType(local.type(receiverParameter.getType()));
}
builder.setName(nameTable.getSimpleNameIndex(descriptor.getName()));
builder.setName(stringTable.getSimpleNameIndex(descriptor.getName()));
for (ValueParameterDescriptor valueParameterDescriptor : descriptor.getValueParameters()) {
builder.addValueParameter(local.valueParameter(valueParameterDescriptor));
@@ -222,7 +222,7 @@ public class DescriptorSerializer {
builder.setReturnType(local.type(getSerializableReturnType(descriptor.getReturnType())));
extension.serializeCallable(descriptor, builder, nameTable);
extension.serializeCallable(descriptor, builder, stringTable);
return builder;
}
@@ -283,7 +283,7 @@ public class DescriptorSerializer {
builder.setFlags(Flags.getValueParameterFlags(hasAnnotations(descriptor), descriptor.declaresDefaultValue()));
builder.setName(nameTable.getSimpleNameIndex(descriptor.getName()));
builder.setName(stringTable.getSimpleNameIndex(descriptor.getName()));
builder.setType(type(descriptor.getType()));
@@ -292,7 +292,7 @@ public class DescriptorSerializer {
builder.setVarargElementType(type(varargElementType));
}
extension.serializeValueParameter(descriptor, builder, nameTable);
extension.serializeValueParameter(descriptor, builder, stringTable);
return builder;
}
@@ -302,7 +302,7 @@ public class DescriptorSerializer {
builder.setId(getTypeParameterId(typeParameter));
builder.setName(nameTable.getSimpleNameIndex(typeParameter.getName()));
builder.setName(stringTable.getSimpleNameIndex(typeParameter.getName()));
// to avoid storing a default
if (typeParameter.isReified()) {
@@ -361,7 +361,7 @@ public class DescriptorSerializer {
ProtoBuf.Type.Builder builder = type(flexibility.getLowerBound());
builder.setFlexibleTypeCapabilitiesId(nameTable.getStringIndex(flexibility.getExtraCapabilities().getId()));
builder.setFlexibleTypeCapabilitiesId(stringTable.getStringIndex(flexibility.getExtraCapabilities().getId()));
builder.setFlexibleUpperBound(type(flexibility.getUpperBound()));
@@ -435,7 +435,7 @@ public class DescriptorSerializer {
}
private int getClassId(@NotNull ClassDescriptor descriptor) {
return nameTable.getFqNameIndex(descriptor);
return stringTable.getFqNameIndex(descriptor);
}
private int getTypeParameterId(@NotNull TypeParameterDescriptor descriptor) {
@@ -40,14 +40,14 @@ public class NameSerializationUtil {
}
public static void serializeNameResolver(@NotNull OutputStream out, @NotNull NameResolver nameResolver) {
serializeNameTable(out, nameResolver.getStringTable(), nameResolver.getQualifiedNameTable());
serializeStringTable(out, nameResolver.getStringTable(), nameResolver.getQualifiedNameTable());
}
public static void serializeNameTable(@NotNull OutputStream out, @NotNull NameTable nameTable) {
serializeNameTable(out, toStringTable(nameTable), toQualifiedNameTable(nameTable));
public static void serializeStringTable(@NotNull OutputStream out, @NotNull StringTable stringTable) {
serializeStringTable(out, toStringTable(stringTable), toQualifiedNameTable(stringTable));
}
private static void serializeNameTable(
private static void serializeStringTable(
@NotNull OutputStream out,
@NotNull ProtoBuf.StringTable stringTable,
@NotNull ProtoBuf.QualifiedNameTable qualifiedNameTable
@@ -62,25 +62,25 @@ public class NameSerializationUtil {
}
@NotNull
public static ProtoBuf.StringTable toStringTable(@NotNull NameTable nameTable) {
public static ProtoBuf.StringTable toStringTable(@NotNull StringTable stringTable) {
ProtoBuf.StringTable.Builder simpleNames = ProtoBuf.StringTable.newBuilder();
for (String simpleName : nameTable.getStrings()) {
for (String simpleName : stringTable.getStrings()) {
simpleNames.addString(simpleName);
}
return simpleNames.build();
}
@NotNull
public static ProtoBuf.QualifiedNameTable toQualifiedNameTable(@NotNull NameTable nameTable) {
public static ProtoBuf.QualifiedNameTable toQualifiedNameTable(@NotNull StringTable stringTable) {
ProtoBuf.QualifiedNameTable.Builder qualifiedNames = ProtoBuf.QualifiedNameTable.newBuilder();
for (ProtoBuf.QualifiedNameTable.QualifiedName.Builder qName : nameTable.getFqNames()) {
for (ProtoBuf.QualifiedNameTable.QualifiedName.Builder qName : stringTable.getFqNames()) {
qualifiedNames.addQualifiedName(qName);
}
return qualifiedNames.build();
}
@NotNull
public static NameResolver createNameResolver(@NotNull NameTable table) {
public static NameResolver createNameResolver(@NotNull StringTable table) {
return new NameResolver(toStringTable(table), toQualifiedNameTable(table));
}
}
@@ -26,14 +26,14 @@ public abstract class SerializerExtension {
public void serializeCallable(
@NotNull CallableMemberDescriptor callable,
@NotNull ProtoBuf.Callable.Builder proto,
@NotNull NameTable nameTable
@NotNull StringTable stringTable
) {
}
public void serializeValueParameter(
@NotNull ValueParameterDescriptor descriptor,
@NotNull ProtoBuf.Callable.ValueParameter.Builder proto,
@NotNull NameTable nameTable
@NotNull StringTable stringTable
) {
}
}
@@ -26,7 +26,7 @@ import java.util.List;
import static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName;
public class NameTable {
public class StringTable {
public static final TObjectHashingStrategy<QualifiedName.Builder> QUALIFIED_NAME_BUILDER_HASHING =
new TObjectHashingStrategy<ProtoBuf.QualifiedNameTable.QualifiedName.Builder>() {
@Override
@@ -49,9 +49,6 @@ public class NameTable {
private final Interner<String> strings = new Interner<String>();
private final Interner<QualifiedName.Builder> qualifiedNames = new Interner<QualifiedName.Builder>(QUALIFIED_NAME_BUILDER_HASHING);
public NameTable() {
}
@NotNull
public List<String> getStrings() {
return strings.getAllInternedObjects();