Introduce infrastructure to separate string table from metadata on JVM

Nothing especially helpful happens here, this is only a big refactoring
introducing a separate string array for the string table, which is currently
always empty, but will contain actual strings soon
This commit is contained in:
Alexander Udalov
2015-09-21 18:22:14 +03:00
parent 5fe958f034
commit 6a8d0fbd75
32 changed files with 177 additions and 113 deletions
@@ -54,7 +54,9 @@ public class KotlinClassAnnotationTest extends CodegenTestCase {
String[] data = (String[]) CodegenTestUtil.getAnnotationAttribute(kotlinClass, "data");
assertNotNull(data);
ClassData classData = JvmProtoBufUtil.readClassDataFrom(data);
String[] strings = (String[]) CodegenTestUtil.getAnnotationAttribute(kotlinClass, "strings");
assertNotNull(strings);
ClassData classData = JvmProtoBufUtil.readClassDataFrom(data, strings);
Set<String> callableNames = collectCallableNames(classData.getClassProto().getMemberList(), classData.getNameResolver());
assertSameElements(Arrays.asList("foo", "bar"), callableNames);
@@ -60,7 +60,9 @@ public class KotlinPackageAnnotationTest extends CodegenTestCase {
String[] data = (String[]) CodegenTestUtil.getAnnotationAttribute(kotlinPackage, "data");
assertNotNull(data);
PackageData packageData = JvmProtoBufUtil.readPackageDataFrom(data);
String[] strings = (String[]) CodegenTestUtil.getAnnotationAttribute(kotlinPackage, "strings");
assertNotNull(strings);
PackageData packageData = JvmProtoBufUtil.readPackageDataFrom(data, strings);
Set<String> callableNames = collectCallableNames(packageData.getPackageProto().getMemberList(), packageData.getNameResolver());
assertEmpty(callableNames);
@@ -84,7 +86,9 @@ public class KotlinPackageAnnotationTest extends CodegenTestCase {
String[] data = (String[]) CodegenTestUtil.getAnnotationAttribute(kotlinPackage, "data");
assertNotNull(data);
PackageData packageData = JvmProtoBufUtil.readPackageDataFrom(data);
String[] strings = (String[]) CodegenTestUtil.getAnnotationAttribute(kotlinPackage, "strings");
assertNotNull(strings);
PackageData packageData = JvmProtoBufUtil.readPackageDataFrom(data, strings);
Set<String> callableNames = collectCallableNames(packageData.getPackageProto().getMemberList(), packageData.getNameResolver());
assertSameElements(callableNames, Arrays.asList("foo", "bar"));