Rename java -> jvm, jet -> kotlin in module serialization.java

org.jetbrains.jet.descriptors.serialization ->
org.jetbrains.kotlin.serialization.jvm
This commit is contained in:
Alexander Udalov
2015-01-09 14:06:45 +03:00
parent de6e8a7493
commit 00878cc31a
38 changed files with 1156 additions and 1156 deletions
+1 -1
View File
@@ -16,7 +16,7 @@
<element id="module-output" name="bare-plugin" /> <element id="module-output" name="bare-plugin" />
<element id="module-output" name="descriptor.loader.java" /> <element id="module-output" name="descriptor.loader.java" />
<element id="module-output" name="frontend.java" /> <element id="module-output" name="frontend.java" />
<element id="module-output" name="serialization.java" /> <element id="module-output" name="serialization.jvm" />
<element id="module-output" name="descriptors" /> <element id="module-output" name="descriptors" />
</element> </element>
<element id="directory" name="jps"> <element id="directory" name="jps">
+1 -1
View File
@@ -25,7 +25,7 @@
<element id="module-output" name="ide-compiler-runner" /> <element id="module-output" name="ide-compiler-runner" />
<element id="module-output" name="preloader" /> <element id="module-output" name="preloader" />
<element id="module-output" name="serialization" /> <element id="module-output" name="serialization" />
<element id="module-output" name="serialization.java" /> <element id="module-output" name="serialization.jvm" />
<element id="module-output" name="backend-common" /> <element id="module-output" name="backend-common" />
<element id="library" level="project" name="builtins" /> <element id="library" level="project" name="builtins" />
<element id="module-output" name="js.dart-ast" /> <element id="module-output" name="js.dart-ast" />
+1 -1
View File
@@ -45,7 +45,7 @@
<module fileurl="file://$PROJECT_DIR$/core/reflection.stub.jvm/reflection.stub.jvm.iml" filepath="$PROJECT_DIR$/core/reflection.stub.jvm/reflection.stub.jvm.iml" /> <module fileurl="file://$PROJECT_DIR$/core/reflection.stub.jvm/reflection.stub.jvm.iml" filepath="$PROJECT_DIR$/core/reflection.stub.jvm/reflection.stub.jvm.iml" />
<module fileurl="file://$PROJECT_DIR$/core/runtime.jvm/runtime.jvm.iml" filepath="$PROJECT_DIR$/core/runtime.jvm/runtime.jvm.iml" group="core" /> <module fileurl="file://$PROJECT_DIR$/core/runtime.jvm/runtime.jvm.iml" filepath="$PROJECT_DIR$/core/runtime.jvm/runtime.jvm.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/core/serialization/serialization.iml" filepath="$PROJECT_DIR$/core/serialization/serialization.iml" group="core" /> <module fileurl="file://$PROJECT_DIR$/core/serialization/serialization.iml" filepath="$PROJECT_DIR$/core/serialization/serialization.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/core/serialization.java/serialization.java.iml" filepath="$PROJECT_DIR$/core/serialization.java/serialization.java.iml" group="core" /> <module fileurl="file://$PROJECT_DIR$/core/serialization.jvm/serialization.jvm.iml" filepath="$PROJECT_DIR$/core/serialization.jvm/serialization.jvm.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/compiler/util/util.iml" filepath="$PROJECT_DIR$/compiler/util/util.iml" /> <module fileurl="file://$PROJECT_DIR$/compiler/util/util.iml" filepath="$PROJECT_DIR$/compiler/util/util.iml" />
<module fileurl="file://$PROJECT_DIR$/core/util.runtime/util.runtime.iml" filepath="$PROJECT_DIR$/core/util.runtime/util.runtime.iml" group="core" /> <module fileurl="file://$PROJECT_DIR$/core/util.runtime/util.runtime.iml" filepath="$PROJECT_DIR$/core/util.runtime/util.runtime.iml" group="core" />
</modules> </modules>
+3 -3
View File
@@ -89,7 +89,7 @@
<include name="core/descriptors/src"/> <include name="core/descriptors/src"/>
<include name="core/serialization/src"/> <include name="core/serialization/src"/>
<include name="core/descriptor.loader.java/src"/> <include name="core/descriptor.loader.java/src"/>
<include name="core/serialization.java/src"/> <include name="core/serialization.jvm/src"/>
<include name="core/util.runtime/src"/> <include name="core/util.runtime/src"/>
<include name="compiler/frontend/src"/> <include name="compiler/frontend/src"/>
<include name="compiler/frontend.java/src"/> <include name="compiler/frontend.java/src"/>
@@ -114,7 +114,7 @@
<include name="serialization/**"/> <include name="serialization/**"/>
<include name="descriptor.loader.java/**"/> <include name="descriptor.loader.java/**"/>
<include name="frontend.java/**"/> <include name="frontend.java/**"/>
<include name="serialization.java/**"/> <include name="serialization.jvm/**"/>
<include name="backend/**"/> <include name="backend/**"/>
<include name="backend-common/**"/> <include name="backend-common/**"/>
<include name="cli/**"/> <include name="cli/**"/>
@@ -178,7 +178,7 @@
<fileset dir="core/descriptors/src"/> <fileset dir="core/descriptors/src"/>
<fileset dir="core/descriptor.loader.java/src"/> <fileset dir="core/descriptor.loader.java/src"/>
<fileset dir="core/serialization/src"/> <fileset dir="core/serialization/src"/>
<fileset dir="core/serialization.java/src"/> <fileset dir="core/serialization.jvm/src"/>
<fileset dir="core/util.runtime/src"/> <fileset dir="core/util.runtime/src"/>
<fileset dir="compiler/frontend/src"/> <fileset dir="compiler/frontend/src"/>
<fileset dir="compiler/frontend.java/src"/> <fileset dir="compiler/frontend.java/src"/>
+2 -3
View File
@@ -13,9 +13,8 @@
<orderEntry type="library" name="javax.inject" level="project" /> <orderEntry type="library" name="javax.inject" level="project" />
<orderEntry type="module" module-name="serialization" /> <orderEntry type="module" module-name="serialization" />
<orderEntry type="library" name="protobuf-java" level="project" /> <orderEntry type="library" name="protobuf-java" level="project" />
<orderEntry type="module" module-name="serialization.java" /> <orderEntry type="module" module-name="serialization.jvm" />
<orderEntry type="module" module-name="util" /> <orderEntry type="module" module-name="util" />
<orderEntry type="module" module-name="backend-common" exported="" /> <orderEntry type="module" module-name="backend-common" exported="" />
</component> </component>
</module> </module>
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.codegen.context.*;
import org.jetbrains.kotlin.codegen.signature.BothSignatureWriter; import org.jetbrains.kotlin.codegen.signature.BothSignatureWriter;
import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.codegen.state.GenerationState;
import org.jetbrains.kotlin.codegen.state.JetTypeMapper; import org.jetbrains.kotlin.codegen.state.JetTypeMapper;
import org.jetbrains.jet.descriptors.serialization.BitEncoding; import org.jetbrains.kotlin.serialization.jvm.BitEncoding;
import org.jetbrains.jet.descriptors.serialization.ClassData; import org.jetbrains.jet.descriptors.serialization.ClassData;
import org.jetbrains.jet.descriptors.serialization.DescriptorSerializer; import org.jetbrains.jet.descriptors.serialization.DescriptorSerializer;
import org.jetbrains.jet.descriptors.serialization.ProtoBuf; import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
@@ -234,7 +234,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
if (state.getClassBuilderMode() != ClassBuilderMode.FULL) return; if (state.getClassBuilderMode() != ClassBuilderMode.FULL) return;
DescriptorSerializer serializer = DescriptorSerializer serializer =
DescriptorSerializer.create(descriptor, new JavaSerializerExtension(v.getSerializationBindings())); DescriptorSerializer.create(descriptor, new JvmSerializerExtension(v.getSerializationBindings()));
ProtoBuf.Class classProto = serializer.classProto(descriptor).build(); ProtoBuf.Class classProto = serializer.classProto(descriptor).build();
@@ -19,13 +19,17 @@ package org.jetbrains.kotlin.codegen;
import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.Pair;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.descriptors.serialization.*; import org.jetbrains.jet.descriptors.serialization.NameResolver;
import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
import org.jetbrains.jet.descriptors.serialization.SerializerExtension;
import org.jetbrains.jet.descriptors.serialization.StringTable;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPropertyDescriptor; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPropertyDescriptor;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedSimpleFunctionDescriptor; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedSimpleFunctionDescriptor;
import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.resolve.kotlin.SignatureDeserializer; import org.jetbrains.jet.lang.resolve.kotlin.SignatureDeserializer;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.name.Name;
import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf;
import org.jetbrains.org.objectweb.asm.Type; import org.jetbrains.org.objectweb.asm.Type;
import org.jetbrains.org.objectweb.asm.commons.Method; import org.jetbrains.org.objectweb.asm.commons.Method;
@@ -33,10 +37,10 @@ import java.util.Arrays;
import static org.jetbrains.kotlin.codegen.JvmSerializationBindings.*; import static org.jetbrains.kotlin.codegen.JvmSerializationBindings.*;
public class JavaSerializerExtension extends SerializerExtension { public class JvmSerializerExtension extends SerializerExtension {
private final JvmSerializationBindings bindings; private final JvmSerializationBindings bindings;
public JavaSerializerExtension(@NotNull JvmSerializationBindings bindings) { public JvmSerializerExtension(@NotNull JvmSerializationBindings bindings) {
this.bindings = bindings; this.bindings = bindings;
} }
@@ -58,7 +62,7 @@ public class JavaSerializerExtension extends SerializerExtension {
) { ) {
Integer index = bindings.get(INDEX_FOR_VALUE_PARAMETER, descriptor); Integer index = bindings.get(INDEX_FOR_VALUE_PARAMETER, descriptor);
if (index != null) { if (index != null) {
proto.setExtension(JavaProtoBuf.index, index); proto.setExtension(JvmProtoBuf.index, index);
} }
} }
@@ -69,18 +73,18 @@ public class JavaSerializerExtension extends SerializerExtension {
) { ) {
SignatureSerializer signatureSerializer = new SignatureSerializer(stringTable); SignatureSerializer signatureSerializer = new SignatureSerializer(stringTable);
if (callable instanceof FunctionDescriptor) { if (callable instanceof FunctionDescriptor) {
JavaProtoBuf.JavaMethodSignature signature; JvmProtoBuf.JvmMethodSignature signature;
if (callable instanceof DeserializedSimpleFunctionDescriptor) { if (callable instanceof DeserializedSimpleFunctionDescriptor) {
DeserializedSimpleFunctionDescriptor deserialized = (DeserializedSimpleFunctionDescriptor) callable; DeserializedSimpleFunctionDescriptor deserialized = (DeserializedSimpleFunctionDescriptor) callable;
signature = signatureSerializer.copyMethodSignature( signature = signatureSerializer.copyMethodSignature(
deserialized.getProto().getExtension(JavaProtoBuf.methodSignature), deserialized.getNameResolver()); deserialized.getProto().getExtension(JvmProtoBuf.methodSignature), deserialized.getNameResolver());
} }
else { else {
Method method = bindings.get(METHOD_FOR_FUNCTION, (FunctionDescriptor) callable); Method method = bindings.get(METHOD_FOR_FUNCTION, (FunctionDescriptor) callable);
signature = method != null ? signatureSerializer.methodSignature(method) : null; signature = method != null ? signatureSerializer.methodSignature(method) : null;
} }
if (signature != null) { if (signature != null) {
proto.setExtension(JavaProtoBuf.methodSignature, signature); proto.setExtension(JvmProtoBuf.methodSignature, signature);
} }
} }
else if (callable instanceof PropertyDescriptor) { else if (callable instanceof PropertyDescriptor) {
@@ -109,11 +113,11 @@ public class JavaSerializerExtension extends SerializerExtension {
syntheticMethod = bindings.get(SYNTHETIC_METHOD_FOR_PROPERTY, property); syntheticMethod = bindings.get(SYNTHETIC_METHOD_FOR_PROPERTY, property);
} }
JavaProtoBuf.JavaPropertySignature signature; JvmProtoBuf.JvmPropertySignature signature;
if (callable instanceof DeserializedPropertyDescriptor) { if (callable instanceof DeserializedPropertyDescriptor) {
DeserializedPropertyDescriptor deserializedCallable = (DeserializedPropertyDescriptor) callable; DeserializedPropertyDescriptor deserializedCallable = (DeserializedPropertyDescriptor) callable;
signature = signatureSerializer.copyPropertySignature( signature = signatureSerializer.copyPropertySignature(
deserializedCallable.getProto().getExtension(JavaProtoBuf.propertySignature), deserializedCallable.getProto().getExtension(JvmProtoBuf.propertySignature),
deserializedCallable.getNameResolver() deserializedCallable.getNameResolver()
); );
} }
@@ -121,7 +125,7 @@ public class JavaSerializerExtension extends SerializerExtension {
signature = signatureSerializer signature = signatureSerializer
.propertySignature(fieldType, fieldName, isStaticInOuter, syntheticMethod, getterMethod, setterMethod); .propertySignature(fieldType, fieldName, isStaticInOuter, syntheticMethod, getterMethod, setterMethod);
} }
proto.setExtension(JavaProtoBuf.propertySignature, signature); proto.setExtension(JvmProtoBuf.propertySignature, signature);
} }
} }
@@ -132,7 +136,7 @@ public class JavaSerializerExtension extends SerializerExtension {
) { ) {
String name = bindings.get(IMPL_CLASS_NAME_FOR_CALLABLE, callable); String name = bindings.get(IMPL_CLASS_NAME_FOR_CALLABLE, callable);
if (name != null) { if (name != null) {
proto.setExtension(JavaProtoBuf.implClassName, stringTable.getSimpleNameIndex(Name.identifier(name))); proto.setExtension(JvmProtoBuf.implClassName, stringTable.getSimpleNameIndex(Name.identifier(name)));
} }
} }
@@ -144,8 +148,8 @@ public class JavaSerializerExtension extends SerializerExtension {
} }
@NotNull @NotNull
public JavaProtoBuf.JavaMethodSignature copyMethodSignature( public JvmProtoBuf.JvmMethodSignature copyMethodSignature(
@NotNull JavaProtoBuf.JavaMethodSignature signature, @NotNull JvmProtoBuf.JvmMethodSignature signature,
@NotNull NameResolver nameResolver @NotNull NameResolver nameResolver
) { ) {
String method = new SignatureDeserializer(nameResolver).methodSignatureString(signature); String method = new SignatureDeserializer(nameResolver).methodSignatureString(signature);
@@ -153,8 +157,8 @@ public class JavaSerializerExtension extends SerializerExtension {
} }
@NotNull @NotNull
public JavaProtoBuf.JavaMethodSignature methodSignature(@NotNull Method method) { public JvmProtoBuf.JvmMethodSignature methodSignature(@NotNull Method method) {
JavaProtoBuf.JavaMethodSignature.Builder signature = JavaProtoBuf.JavaMethodSignature.newBuilder(); JvmProtoBuf.JvmMethodSignature.Builder signature = JvmProtoBuf.JvmMethodSignature.newBuilder();
signature.setName(stringTable.getStringIndex(method.getName())); signature.setName(stringTable.getStringIndex(method.getName()));
@@ -168,8 +172,8 @@ public class JavaSerializerExtension extends SerializerExtension {
} }
@NotNull @NotNull
public JavaProtoBuf.JavaPropertySignature copyPropertySignature( public JvmProtoBuf.JvmPropertySignature copyPropertySignature(
@NotNull JavaProtoBuf.JavaPropertySignature signature, @NotNull JvmProtoBuf.JvmPropertySignature signature,
@NotNull NameResolver nameResolver @NotNull NameResolver nameResolver
) { ) {
Type fieldType; Type fieldType;
@@ -177,7 +181,7 @@ public class JavaSerializerExtension extends SerializerExtension {
boolean isStaticInOuter; boolean isStaticInOuter;
SignatureDeserializer signatureDeserializer = new SignatureDeserializer(nameResolver); SignatureDeserializer signatureDeserializer = new SignatureDeserializer(nameResolver);
if (signature.hasField()) { if (signature.hasField()) {
JavaProtoBuf.JavaFieldSignature field = signature.getField(); JvmProtoBuf.JvmFieldSignature field = signature.getField();
fieldType = Type.getType(signatureDeserializer.typeDescriptor(field.getType())); fieldType = Type.getType(signatureDeserializer.typeDescriptor(field.getType()));
fieldName = nameResolver.getName(field.getName()).asString(); fieldName = nameResolver.getName(field.getName()).asString();
isStaticInOuter = field.getIsStaticInOuter(); isStaticInOuter = field.getIsStaticInOuter();
@@ -199,7 +203,7 @@ public class JavaSerializerExtension extends SerializerExtension {
} }
@NotNull @NotNull
public JavaProtoBuf.JavaPropertySignature propertySignature( public JvmProtoBuf.JvmPropertySignature propertySignature(
@Nullable Type fieldType, @Nullable Type fieldType,
@Nullable String fieldName, @Nullable String fieldName,
boolean isStaticInOuter, boolean isStaticInOuter,
@@ -207,7 +211,7 @@ public class JavaSerializerExtension extends SerializerExtension {
@Nullable Method getter, @Nullable Method getter,
@Nullable Method setter @Nullable Method setter
) { ) {
JavaProtoBuf.JavaPropertySignature.Builder signature = JavaProtoBuf.JavaPropertySignature.newBuilder(); JvmProtoBuf.JvmPropertySignature.Builder signature = JvmProtoBuf.JvmPropertySignature.newBuilder();
if (fieldType != null) { if (fieldType != null) {
assert fieldName != null : "Field name shouldn't be null when there's a field type: " + fieldType; assert fieldName != null : "Field name shouldn't be null when there's a field type: " + fieldType;
@@ -229,8 +233,8 @@ public class JavaSerializerExtension extends SerializerExtension {
} }
@NotNull @NotNull
public JavaProtoBuf.JavaFieldSignature fieldSignature(@NotNull Type type, @NotNull String name, boolean isStaticInOuter) { public JvmProtoBuf.JvmFieldSignature fieldSignature(@NotNull Type type, @NotNull String name, boolean isStaticInOuter) {
JavaProtoBuf.JavaFieldSignature.Builder signature = JavaProtoBuf.JavaFieldSignature.newBuilder(); JvmProtoBuf.JvmFieldSignature.Builder signature = JvmProtoBuf.JvmFieldSignature.newBuilder();
signature.setName(stringTable.getStringIndex(name)); signature.setName(stringTable.getStringIndex(name));
signature.setType(type(type)); signature.setType(type(type));
if (isStaticInOuter) { if (isStaticInOuter) {
@@ -240,8 +244,8 @@ public class JavaSerializerExtension extends SerializerExtension {
} }
@NotNull @NotNull
public JavaProtoBuf.JavaType type(@NotNull Type givenType) { public JvmProtoBuf.JvmType type(@NotNull Type givenType) {
JavaProtoBuf.JavaType.Builder builder = JavaProtoBuf.JavaType.newBuilder(); JvmProtoBuf.JvmType.Builder builder = JvmProtoBuf.JvmType.newBuilder();
int arrayDimension = 0; int arrayDimension = 0;
Type type = givenType; Type type = givenType;
@@ -258,7 +262,7 @@ public class JavaSerializerExtension extends SerializerExtension {
builder.setClassFqName(stringTable.getFqNameIndex(fqName)); builder.setClassFqName(stringTable.getFqNameIndex(fqName));
} }
else { else {
builder.setPrimitiveType(JavaProtoBuf.JavaType.PrimitiveType.valueOf(type.getSort())); builder.setPrimitiveType(JvmProtoBuf.JvmType.PrimitiveType.valueOf(type.getSort()));
} }
return builder.build(); return builder.build();
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.codegen.context.MethodContext;
import org.jetbrains.kotlin.codegen.context.PackageContext; import org.jetbrains.kotlin.codegen.context.PackageContext;
import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.codegen.state.GenerationState;
import org.jetbrains.kotlin.config.IncrementalCompilation; import org.jetbrains.kotlin.config.IncrementalCompilation;
import org.jetbrains.jet.descriptors.serialization.BitEncoding; import org.jetbrains.kotlin.serialization.jvm.BitEncoding;
import org.jetbrains.jet.descriptors.serialization.DescriptorSerializer; import org.jetbrains.jet.descriptors.serialization.DescriptorSerializer;
import org.jetbrains.jet.descriptors.serialization.PackageData; import org.jetbrains.jet.descriptors.serialization.PackageData;
import org.jetbrains.jet.descriptors.serialization.ProtoBuf; import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
@@ -272,7 +272,7 @@ public class PackageCodegen {
if (file.isScript()) return; if (file.isScript()) return;
} }
DescriptorSerializer serializer = DescriptorSerializer.createTopLevel(new JavaSerializerExtension(bindings)); DescriptorSerializer serializer = DescriptorSerializer.createTopLevel(new JvmSerializerExtension(bindings));
Collection<PackageFragmentDescriptor> packageFragments = Lists.newArrayList(); Collection<PackageFragmentDescriptor> packageFragments = Lists.newArrayList();
ContainerUtil.addIfNotNull(packageFragments, packageFragment); ContainerUtil.addIfNotNull(packageFragments, packageFragment);
ContainerUtil.addIfNotNull(packageFragments, compiledPackageFragment); ContainerUtil.addIfNotNull(packageFragments, compiledPackageFragment);
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.codegen.context.CodegenContext;
import org.jetbrains.kotlin.codegen.context.PackageContext; import org.jetbrains.kotlin.codegen.context.PackageContext;
import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.codegen.state.GenerationState;
import org.jetbrains.kotlin.codegen.state.JetTypeMapper; import org.jetbrains.kotlin.codegen.state.JetTypeMapper;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBuf; import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf;
import org.jetbrains.jet.descriptors.serialization.ProtoBuf; import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedSimpleFunctionDescriptor; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedSimpleFunctionDescriptor;
import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.*;
@@ -105,10 +105,10 @@ public class InlineCodegenUtil {
DeclarationDescriptor parentDeclaration = deserializedDescriptor.getContainingDeclaration(); DeclarationDescriptor parentDeclaration = deserializedDescriptor.getContainingDeclaration();
if (parentDeclaration instanceof PackageFragmentDescriptor) { if (parentDeclaration instanceof PackageFragmentDescriptor) {
ProtoBuf.Callable proto = deserializedDescriptor.getProto(); ProtoBuf.Callable proto = deserializedDescriptor.getProto();
if (!proto.hasExtension(JavaProtoBuf.implClassName)) { if (!proto.hasExtension(JvmProtoBuf.implClassName)) {
throw new IllegalStateException("Function in namespace should have implClassName property in proto: " + deserializedDescriptor); throw new IllegalStateException("Function in namespace should have implClassName property in proto: " + deserializedDescriptor);
} }
Name name = deserializedDescriptor.getNameResolver().getName(proto.getExtension(JavaProtoBuf.implClassName)); Name name = deserializedDescriptor.getNameResolver().getName(proto.getExtension(JvmProtoBuf.implClassName));
FqName packagePartFqName = FqName packagePartFqName =
PackageClassUtils.getPackageClassFqName(((PackageFragmentDescriptor) parentDeclaration).getFqName()).parent().child( PackageClassUtils.getPackageClassFqName(((PackageFragmentDescriptor) parentDeclaration).getFqName()).parent().child(
name); name);
+1 -1
View File
@@ -18,6 +18,6 @@
<orderEntry type="module" module-name="util" /> <orderEntry type="module" module-name="util" />
<orderEntry type="module" module-name="backend-common" /> <orderEntry type="module" module-name="backend-common" />
<orderEntry type="module" module-name="serialization" /> <orderEntry type="module" module-name="serialization" />
<orderEntry type="module" module-name="serialization.java" /> <orderEntry type="module" module-name="serialization.jvm" />
</component> </component>
</module> </module>
+2 -3
View File
@@ -11,10 +11,9 @@
<orderEntry type="library" scope="PROVIDED" name="intellij-core" level="project" /> <orderEntry type="library" scope="PROVIDED" name="intellij-core" level="project" />
<orderEntry type="library" name="javax.inject" level="project" /> <orderEntry type="library" name="javax.inject" level="project" />
<orderEntry type="module" module-name="serialization" /> <orderEntry type="module" module-name="serialization" />
<orderEntry type="module" module-name="serialization.java" /> <orderEntry type="module" module-name="serialization.jvm" />
<orderEntry type="module" module-name="descriptor.loader.java" exported="" /> <orderEntry type="module" module-name="descriptor.loader.java" exported="" />
<orderEntry type="module" module-name="util.runtime" /> <orderEntry type="module" module-name="util.runtime" />
<orderEntry type="module" module-name="util" /> <orderEntry type="module" module-name="util" />
</component> </component>
</module> </module>
@@ -22,7 +22,7 @@ import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.PathUtil; import com.intellij.util.PathUtil;
import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBuf; import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedCallableMemberDescriptor; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedCallableMemberDescriptor;
import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor; import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor;
import org.jetbrains.jet.lang.psi.JetDeclaration; import org.jetbrains.jet.lang.psi.JetDeclaration;
@@ -86,7 +86,7 @@ public class PackagePartClassUtils {
@NotNull @NotNull
public static FqName getPackagePartFqName(@NotNull DeserializedCallableMemberDescriptor callable) { public static FqName getPackagePartFqName(@NotNull DeserializedCallableMemberDescriptor callable) {
FqName packageFqName = ((PackageFragmentDescriptor) callable.getContainingDeclaration()).getFqName(); FqName packageFqName = ((PackageFragmentDescriptor) callable.getContainingDeclaration()).getFqName();
return packageFqName.child(callable.getNameResolver().getName(callable.getProto().getExtension(JavaProtoBuf.implClassName))); return packageFqName.child(callable.getNameResolver().getName(callable.getProto().getExtension(JvmProtoBuf.implClassName)));
} }
@NotNull @NotNull
@@ -28,6 +28,7 @@ import org.jetbrains.jet.lang.resolve.scopes.JetScope
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPackageMemberScope import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPackageMemberScope
import org.jetbrains.jet.descriptors.serialization.* import org.jetbrains.jet.descriptors.serialization.*
import org.jetbrains.kotlin.serialization.jvm.*
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver
import org.jetbrains.kotlin.utils.addToStdlib.singletonOrEmptyList import org.jetbrains.kotlin.utils.addToStdlib.singletonOrEmptyList
import org.jetbrains.kotlin.storage.NotNullLazyValue import org.jetbrains.kotlin.storage.NotNullLazyValue
@@ -101,7 +102,7 @@ public class IncrementalPackageFragmentProvider(
JetScope.Empty JetScope.Empty
} }
else { else {
IncrementalPackageScope(JavaProtoBufUtil.readPackageDataFrom(packageDataBytes)) IncrementalPackageScope(JvmProtoBufUtil.readPackageDataFrom(packageDataBytes))
} }
} }
} }
@@ -116,8 +117,8 @@ public class IncrementalPackageFragmentProvider(
return allMemberProtos return allMemberProtos
.filter { .filter {
member -> member ->
if (member.hasExtension(JavaProtoBuf.implClassName)) { if (member.hasExtension(JvmProtoBuf.implClassName)) {
val shortName = packageData.getNameResolver().getName(member.getExtension(JavaProtoBuf.implClassName)!!) val shortName = packageData.getNameResolver().getName(member.getExtension(JvmProtoBuf.implClassName)!!)
val internalName = JvmClassName.byFqNameWithoutInnerClasses(fqName.child(shortName)).getInternalName() val internalName = JvmClassName.byFqNameWithoutInnerClasses(fqName.child(shortName)).getInternalName()
internalName !in packagePartsToNotLoadFromCache internalName !in packagePartsToNotLoadFromCache
} }
+1 -1
View File
@@ -16,7 +16,7 @@
<orderEntry type="library" name="idea-full" level="project" /> <orderEntry type="library" name="idea-full" level="project" />
<orderEntry type="library" name="dx-android" level="project" /> <orderEntry type="library" name="dx-android" level="project" />
<orderEntry type="module" module-name="serialization" /> <orderEntry type="module" module-name="serialization" />
<orderEntry type="module" module-name="serialization.java" /> <orderEntry type="module" module-name="serialization.jvm" />
<orderEntry type="module" module-name="util" /> <orderEntry type="module" module-name="util" />
<orderEntry type="module" module-name="builtins-serializer" /> <orderEntry type="module" module-name="builtins-serializer" />
<orderEntry type="module" module-name="js.frontend" /> <orderEntry type="module" module-name="js.frontend" />
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.codegen;
import org.jetbrains.jet.ConfigurationKind; import org.jetbrains.jet.ConfigurationKind;
import org.jetbrains.jet.descriptors.serialization.ClassData; import org.jetbrains.jet.descriptors.serialization.ClassData;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil; import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil;
import org.jetbrains.jet.lang.resolve.java.JvmAnnotationNames; import org.jetbrains.jet.lang.resolve.java.JvmAnnotationNames;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe; import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
@@ -54,7 +54,7 @@ public class KotlinClassAnnotationTest extends CodegenTestCase {
String[] data = (String[]) CodegenTestUtil.getAnnotationAttribute(kotlinClass, "data"); String[] data = (String[]) CodegenTestUtil.getAnnotationAttribute(kotlinClass, "data");
assertNotNull(data); assertNotNull(data);
ClassData classData = JavaProtoBufUtil.readClassDataFrom(data); ClassData classData = JvmProtoBufUtil.readClassDataFrom(data);
Set<String> callableNames = collectCallableNames(classData.getClassProto().getMemberList(), classData.getNameResolver()); Set<String> callableNames = collectCallableNames(classData.getClassProto().getMemberList(), classData.getNameResolver());
assertSameElements(Arrays.asList("foo", "bar"), callableNames); assertSameElements(Arrays.asList("foo", "bar"), callableNames);
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.codegen;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.ConfigurationKind; import org.jetbrains.jet.ConfigurationKind;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil; import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil;
import org.jetbrains.jet.descriptors.serialization.NameResolver; import org.jetbrains.jet.descriptors.serialization.NameResolver;
import org.jetbrains.jet.descriptors.serialization.PackageData; import org.jetbrains.jet.descriptors.serialization.PackageData;
import org.jetbrains.jet.descriptors.serialization.ProtoBuf; import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
@@ -60,7 +60,7 @@ public class KotlinPackageAnnotationTest extends CodegenTestCase {
String[] data = (String[]) CodegenTestUtil.getAnnotationAttribute(kotlinPackage, "data"); String[] data = (String[]) CodegenTestUtil.getAnnotationAttribute(kotlinPackage, "data");
assertNotNull(data); assertNotNull(data);
PackageData packageData = JavaProtoBufUtil.readPackageDataFrom(data); PackageData packageData = JvmProtoBufUtil.readPackageDataFrom(data);
Set<String> callableNames = collectCallableNames(packageData.getPackageProto().getMemberList(), packageData.getNameResolver()); Set<String> callableNames = collectCallableNames(packageData.getPackageProto().getMemberList(), packageData.getNameResolver());
assertSameElements(callableNames, Arrays.asList("foo", "bar")); assertSameElements(callableNames, Arrays.asList("foo", "bar"));
@@ -1,5 +1,5 @@
/* /*
* Copyright 2010-2013 JetBrains s.r.o. * Copyright 2010-2015 JetBrains s.r.o.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -14,15 +14,15 @@
* limitations under the License. * limitations under the License.
*/ */
package org.jetbrains.jet.descriptors.serialization; package org.jetbrains.kotlin.serialization.jvm;
import com.intellij.testFramework.UsefulTestCase; import com.intellij.testFramework.UsefulTestCase;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.util.Random; import java.util.Random;
import static org.jetbrains.jet.descriptors.serialization.BitEncoding.decodeBytes; import static org.jetbrains.kotlin.serialization.jvm.BitEncoding.decodeBytes;
import static org.jetbrains.jet.descriptors.serialization.BitEncoding.encodeBytes; import static org.jetbrains.kotlin.serialization.jvm.BitEncoding.encodeBytes;
import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertArrayEquals;
public class BitEncodingTest extends UsefulTestCase { public class BitEncodingTest extends UsefulTestCase {
@@ -8,10 +8,9 @@
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="serialization" /> <orderEntry type="module" module-name="serialization" />
<orderEntry type="module" module-name="serialization.java" /> <orderEntry type="module" module-name="serialization.jvm" />
<orderEntry type="library" name="javax.inject" level="project" /> <orderEntry type="library" name="javax.inject" level="project" />
<orderEntry type="module" module-name="util.runtime" /> <orderEntry type="module" module-name="util.runtime" />
<orderEntry type="library" name="protobuf-java" level="project" /> <orderEntry type="library" name="protobuf-java" level="project" />
</component> </component>
</module> </module>
@@ -21,8 +21,7 @@ import java.util.ArrayList
import org.jetbrains.jet.descriptors.serialization.descriptors.AnnotatedCallableKind import org.jetbrains.jet.descriptors.serialization.descriptors.AnnotatedCallableKind
import org.jetbrains.jet.descriptors.serialization.NameResolver import org.jetbrains.jet.descriptors.serialization.NameResolver
import org.jetbrains.jet.descriptors.serialization.ProtoBuf import org.jetbrains.jet.descriptors.serialization.ProtoBuf
import org.jetbrains.jet.descriptors.serialization.JavaProtoBuf import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.*
import org.jetbrains.jet.descriptors.serialization.JavaProtoBuf.*
import org.jetbrains.jet.descriptors.serialization.descriptors.ProtoContainer import org.jetbrains.jet.descriptors.serialization.descriptors.ProtoContainer
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
import org.jetbrains.jet.lang.resolve.java.resolver.ErrorReporter import org.jetbrains.jet.lang.resolve.java.resolver.ErrorReporter
@@ -119,7 +118,7 @@ public abstract class AbstractBinaryClassAnnotationAndConstantLoader<A : Any, C
val methodSignature = getCallableSignature(callable, nameResolver, kind) val methodSignature = getCallableSignature(callable, nameResolver, kind)
if (methodSignature != null) { if (methodSignature != null) {
if (proto.hasExtension(index)) { if (proto.hasExtension(index)) {
val paramSignature = MemberSignature.fromMethodSignatureAndParameterIndex(methodSignature, proto.getExtension(JavaProtoBuf.index)) val paramSignature = MemberSignature.fromMethodSignatureAndParameterIndex(methodSignature, proto.getExtension(index))
return findClassAndLoadMemberAnnotations(container, callable, nameResolver, kind, paramSignature) return findClassAndLoadMemberAnnotations(container, callable, nameResolver, kind, paramSignature)
} }
} }
@@ -19,7 +19,7 @@ package org.jetbrains.jet.lang.resolve.kotlin;
import kotlin.Function0; import kotlin.Function0;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil; import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil;
import org.jetbrains.jet.descriptors.serialization.PackageData; import org.jetbrains.jet.descriptors.serialization.PackageData;
import org.jetbrains.jet.descriptors.serialization.context.DeserializationComponents; import org.jetbrains.jet.descriptors.serialization.context.DeserializationComponents;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPackageMemberScope; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPackageMemberScope;
@@ -55,7 +55,7 @@ public final class DeserializedDescriptorResolver {
String[] data = readData(kotlinClass, CLASS); String[] data = readData(kotlinClass, CLASS);
if (data != null) { if (data != null) {
return components.getClassDeserializer().deserializeClass( return components.getClassDeserializer().deserializeClass(
kotlinClass.getClassId(), JavaProtoBufUtil.readClassDataFrom(data) kotlinClass.getClassId(), JvmProtoBufUtil.readClassDataFrom(data)
); );
} }
return null; return null;
@@ -66,7 +66,7 @@ public final class DeserializedDescriptorResolver {
String[] data = readData(kotlinClass, PACKAGE_FACADE); String[] data = readData(kotlinClass, PACKAGE_FACADE);
if (data != null) { if (data != null) {
//all classes are included in java scope //all classes are included in java scope
PackageData packageData = JavaProtoBufUtil.readPackageDataFrom(data); PackageData packageData = JvmProtoBufUtil.readPackageDataFrom(data);
return new DeserializedPackageMemberScope( return new DeserializedPackageMemberScope(
descriptor, packageData.getPackageProto(), packageData.getNameResolver(), components, descriptor, packageData.getPackageProto(), packageData.getNameResolver(), components,
new Function0<Collection<Name>>() { new Function0<Collection<Name>>() {
@@ -19,7 +19,7 @@ package org.jetbrains.jet.lang.resolve.kotlin
import org.jetbrains.jet.lang.resolve.name.ClassId import org.jetbrains.jet.lang.resolve.name.ClassId
import org.jetbrains.jet.descriptors.serialization.ClassDataFinder import org.jetbrains.jet.descriptors.serialization.ClassDataFinder
import org.jetbrains.jet.descriptors.serialization.ClassData import org.jetbrains.jet.descriptors.serialization.ClassData
import org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
import org.jetbrains.jet.lang.resolve.kotlin.header.KotlinClassHeader import org.jetbrains.jet.lang.resolve.kotlin.header.KotlinClassHeader
public class JavaClassDataFinder( public class JavaClassDataFinder(
@@ -30,6 +30,6 @@ public class JavaClassDataFinder(
val javaClassId = DeserializedResolverUtils.kotlinClassIdToJavaClassId(classId) val javaClassId = DeserializedResolverUtils.kotlinClassIdToJavaClassId(classId)
val kotlinJvmBinaryClass = kotlinClassFinder.findKotlinClass(javaClassId) ?: return null val kotlinJvmBinaryClass = kotlinClassFinder.findKotlinClass(javaClassId) ?: return null
val data = deserializedDescriptorResolver.readData(kotlinJvmBinaryClass, KotlinClassHeader.Kind.CLASS) ?: return null val data = deserializedDescriptorResolver.readData(kotlinJvmBinaryClass, KotlinClassHeader.Kind.CLASS) ?: return null
return JavaProtoBufUtil.readClassDataFrom(data) return JvmProtoBufUtil.readClassDataFrom(data)
} }
} }
@@ -17,7 +17,7 @@
package org.jetbrains.jet.lang.resolve.kotlin; package org.jetbrains.jet.lang.resolve.kotlin;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBuf; import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf;
import org.jetbrains.jet.descriptors.serialization.NameResolver; import org.jetbrains.jet.descriptors.serialization.NameResolver;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.name.Name;
@@ -33,7 +33,7 @@ public class SignatureDeserializer {
} }
@NotNull @NotNull
public String methodSignatureString(@NotNull JavaProtoBuf.JavaMethodSignature signature) { public String methodSignatureString(@NotNull JvmProtoBuf.JvmMethodSignature signature) {
Name name = nameResolver.getName(signature.getName()); Name name = nameResolver.getName(signature.getName());
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
@@ -48,17 +48,17 @@ public class SignatureDeserializer {
} }
@NotNull @NotNull
public MemberSignature methodSignature(@NotNull JavaProtoBuf.JavaMethodSignature signature) { public MemberSignature methodSignature(@NotNull JvmProtoBuf.JvmMethodSignature signature) {
return MemberSignature.fromMethodNameAndDesc(methodSignatureString(signature)); return MemberSignature.fromMethodNameAndDesc(methodSignatureString(signature));
} }
@NotNull @NotNull
public String typeDescriptor(@NotNull JavaProtoBuf.JavaType type) { public String typeDescriptor(@NotNull JvmProtoBuf.JvmType type) {
return typeDescriptor(type, new StringBuilder()).toString(); return typeDescriptor(type, new StringBuilder()).toString();
} }
@NotNull @NotNull
private StringBuilder typeDescriptor(@NotNull JavaProtoBuf.JavaType type, @NotNull StringBuilder sb) { private StringBuilder typeDescriptor(@NotNull JvmProtoBuf.JvmType type, @NotNull StringBuilder sb) {
for (int i = 0; i < type.getArrayDimension(); i++) { for (int i = 0; i < type.getArrayDimension(); i++) {
sb.append('['); sb.append('[');
} }
@@ -1,5 +1,5 @@
/* /*
* Copyright 2010-2013 JetBrains s.r.o. * Copyright 2010-2015 JetBrains s.r.o.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -14,14 +14,14 @@
* limitations under the License. * limitations under the License.
*/ */
package org.jetbrains.jet.descriptors.serialization; package org.jetbrains.kotlin.serialization.jvm;
import "core/serialization/src/descriptors.proto"; import "core/serialization/src/descriptors.proto";
option java_outer_classname = "JavaProtoBuf"; option java_outer_classname = "JvmProtoBuf";
option optimize_for = LITE_RUNTIME; option optimize_for = LITE_RUNTIME;
message JavaType { message JvmType {
enum PrimitiveType { enum PrimitiveType {
// These values correspond to ASM Type sorts // These values correspond to ASM Type sorts
VOID = 0; VOID = 0;
@@ -42,37 +42,37 @@ message JavaType {
optional int32 array_dimension = 3 [default = 0]; optional int32 array_dimension = 3 [default = 0];
} }
message JavaMethodSignature { message JvmMethodSignature {
required int32 name = 1; required int32 name = 1;
required JavaType return_type = 2; required JvmType return_type = 2;
repeated JavaType parameter_type = 3; repeated JvmType parameter_type = 3;
} }
message JavaFieldSignature { message JvmFieldSignature {
required int32 name = 1; required int32 name = 1;
required JavaType type = 2; required JvmType type = 2;
// True iff this field is a backing field for a class object and is really present as a static // True iff this field is a backing field for a class object and is really present as a static
// field in the outer class, not as an instance field here // field in the outer class, not as an instance field here
optional bool is_static_in_outer = 3 [default = false]; optional bool is_static_in_outer = 3 [default = false];
} }
message JavaPropertySignature { message JvmPropertySignature {
// A property itself is identified either by the field, or by the synthetic method. // A property itself is identified either by the field, or by the synthetic method.
// If the property is annotated, then either field or synthetic_method should be present // If the property is annotated, then either field or synthetic_method should be present
optional JavaFieldSignature field = 1; optional JvmFieldSignature field = 1;
// Annotations on properties without backing fields are written on a synthetic method with this signature // Annotations on properties without backing fields are written on a synthetic method with this signature
optional JavaMethodSignature synthetic_method = 2; optional JvmMethodSignature synthetic_method = 2;
optional JavaMethodSignature getter = 3; optional JvmMethodSignature getter = 3;
optional JavaMethodSignature setter = 4; optional JvmMethodSignature setter = 4;
} }
extend Callable { extend org.jetbrains.jet.descriptors.serialization.Callable {
optional JavaMethodSignature method_signature = 100; optional JvmMethodSignature method_signature = 100;
optional JavaPropertySignature property_signature = 101; optional JvmPropertySignature property_signature = 101;
// Package-less name of the class with the callable's body and annotations, if it differs from the class it's serialized into. // Package-less name of the class with the callable's body and annotations, if it differs from the class it's serialized into.
// E.g. for a class "A/B/C$D" this would be "C$D". // E.g. for a class "A/B/C$D" this would be "C$D".
@@ -82,7 +82,7 @@ extend Callable {
optional int32 impl_class_name = 102; optional int32 impl_class_name = 102;
} }
extend Callable.ValueParameter { extend org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter {
// Index of the corresponding parameter of this method in JVM (counting receiver parameters, enum constructor synthetic parameters, etc.) // Index of the corresponding parameter of this method in JVM (counting receiver parameters, enum constructor synthetic parameters, etc.)
optional int32 index = 100; optional int32 index = 100;
} }
@@ -1,5 +1,5 @@
/* /*
* Copyright 2010-2013 JetBrains s.r.o. * Copyright 2010-2015 JetBrains s.r.o.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.jetbrains.jet.descriptors.serialization; package org.jetbrains.kotlin.serialization.jvm;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -1,5 +1,5 @@
/* /*
* Copyright 2010-2013 JetBrains s.r.o. * Copyright 2010-2015 JetBrains s.r.o.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -14,19 +14,21 @@
* limitations under the License. * limitations under the License.
*/ */
package org.jetbrains.jet.descriptors.serialization; package org.jetbrains.kotlin.serialization.jvm;
import com.google.protobuf.ExtensionRegistryLite; import com.google.protobuf.ExtensionRegistryLite;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.descriptors.serialization.ClassData;
import org.jetbrains.jet.descriptors.serialization.PackageData;
public class JavaProtoBufUtil { public class JvmProtoBufUtil {
private JavaProtoBufUtil() { private JvmProtoBufUtil() {
} }
@NotNull @NotNull
public static ExtensionRegistryLite getExtensionRegistry() { public static ExtensionRegistryLite getExtensionRegistry() {
ExtensionRegistryLite registry = ExtensionRegistryLite.newInstance(); ExtensionRegistryLite registry = ExtensionRegistryLite.newInstance();
JavaProtoBuf.registerAllExtensions(registry); JvmProtoBuf.registerAllExtensions(registry);
return registry; return registry;
} }
@@ -51,7 +51,7 @@ public data class ProtoPath(
public val PROTO_PATHS: List<ProtoPath> = listOf( public val PROTO_PATHS: List<ProtoPath> = listOf(
ProtoPath("core/serialization/src/descriptors.proto", "core/serialization/src"), ProtoPath("core/serialization/src/descriptors.proto", "core/serialization/src"),
ProtoPath("core/serialization/src/builtins.proto", "core/serialization/src"), ProtoPath("core/serialization/src/builtins.proto", "core/serialization/src"),
ProtoPath("core/serialization.java/src/java_descriptors.proto", "core/serialization.java/src") ProtoPath("core/serialization.jvm/src/jvm_descriptors.proto", "core/serialization.jvm/src")
) )
fun main(args: Array<String>) { fun main(args: Array<String>) {
+1 -1
View File
@@ -16,7 +16,7 @@
<orderEntry type="library" name="kotlin-runtime" level="project" /> <orderEntry type="library" name="kotlin-runtime" level="project" />
<orderEntry type="library" scope="PROVIDED" name="gradle-and-groovy-plugin" level="project" /> <orderEntry type="library" scope="PROVIDED" name="gradle-and-groovy-plugin" level="project" />
<orderEntry type="module" module-name="serialization" /> <orderEntry type="module" module-name="serialization" />
<orderEntry type="module" module-name="serialization.java" /> <orderEntry type="module" module-name="serialization.jvm" />
<orderEntry type="module" module-name="eval4j" /> <orderEntry type="module" module-name="eval4j" />
<orderEntry type="library" name="intellij-core-analysis" level="project" /> <orderEntry type="library" name="intellij-core-analysis" level="project" />
<orderEntry type="module-library"> <orderEntry type="module-library">
@@ -24,7 +24,7 @@ import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.impl.compiled.ClassFileStubBuilder import com.intellij.psi.impl.compiled.ClassFileStubBuilder
import org.jetbrains.jet.lang.resolve.kotlin.KotlinBinaryClassCache import org.jetbrains.jet.lang.resolve.kotlin.KotlinBinaryClassCache
import org.jetbrains.jet.lang.resolve.kotlin.header.KotlinClassHeader import org.jetbrains.jet.lang.resolve.kotlin.header.KotlinClassHeader
import org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
import org.jetbrains.jet.lang.psi.JetFile import org.jetbrains.jet.lang.psi.JetFile
import org.jetbrains.jet.plugin.decompiler.textBuilder.LocalClassFinder import org.jetbrains.jet.plugin.decompiler.textBuilder.LocalClassFinder
import org.jetbrains.jet.plugin.decompiler.textBuilder.LocalClassDataFinder import org.jetbrains.jet.plugin.decompiler.textBuilder.LocalClassDataFinder
@@ -64,13 +64,13 @@ public class KotlinClsStubBuilder : ClsStubBuilder() {
} }
return when (header.kind) { return when (header.kind) {
KotlinClassHeader.Kind.PACKAGE_FACADE -> { KotlinClassHeader.Kind.PACKAGE_FACADE -> {
val packageData = JavaProtoBufUtil.readPackageDataFrom(annotationData) val packageData = JvmProtoBufUtil.readPackageDataFrom(annotationData)
val context = components.createContext(packageData.getNameResolver(), packageFqName) val context = components.createContext(packageData.getNameResolver(), packageFqName)
createPackageFacadeFileStub(packageData.getPackageProto(), packageFqName, context) createPackageFacadeFileStub(packageData.getPackageProto(), packageFqName, context)
} }
KotlinClassHeader.Kind.CLASS -> { KotlinClassHeader.Kind.CLASS -> {
val classData = JavaProtoBufUtil.readClassDataFrom(annotationData) val classData = JvmProtoBufUtil.readClassDataFrom(annotationData)
val context = components.createContext(classData.getNameResolver(), packageFqName) val context = components.createContext(classData.getNameResolver(), packageFqName)
createTopLevelClassStub(classId, classData.getClassProto(), context) createTopLevelClassStub(classId, classData.getClassProto(), context)
} }
@@ -88,4 +88,4 @@ public class KotlinClsStubBuilder : ClsStubBuilder() {
class object { class object {
val LOG = Logger.getInstance(javaClass<KotlinClsStubBuilder>()) val LOG = Logger.getInstance(javaClass<KotlinClsStubBuilder>())
} }
} }
@@ -17,7 +17,7 @@
package org.jetbrains.jet.plugin.decompiler.textBuilder package org.jetbrains.jet.plugin.decompiler.textBuilder
import org.jetbrains.jet.lang.resolve.name.ClassId import org.jetbrains.jet.lang.resolve.name.ClassId
import org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
import org.jetbrains.jet.lang.descriptors.* import org.jetbrains.jet.lang.descriptors.*
import org.jetbrains.jet.lang.descriptors.impl.MutablePackageFragmentDescriptor import org.jetbrains.jet.lang.descriptors.impl.MutablePackageFragmentDescriptor
import org.jetbrains.jet.lang.resolve.kotlin.* import org.jetbrains.jet.lang.resolve.kotlin.*
@@ -59,7 +59,7 @@ public class DeserializerForDecompiler(val packageDirectory: VirtualFile, val di
LOG.error("Could not read annotation data for $packageFqName from ${binaryClassForPackageClass?.getClassId()}") LOG.error("Could not read annotation data for $packageFqName from ${binaryClassForPackageClass?.getClassId()}")
return Collections.emptyList() return Collections.emptyList()
} }
val packageData = JavaProtoBufUtil.readPackageDataFrom(annotationData) val packageData = JvmProtoBufUtil.readPackageDataFrom(annotationData)
val membersScope = DeserializedPackageMemberScope( val membersScope = DeserializedPackageMemberScope(
createDummyPackageFragment(packageFqName), createDummyPackageFragment(packageFqName),
packageData.getPackageProto(), packageData.getPackageProto(),
@@ -27,7 +27,7 @@ import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.jet.lang.resolve.name.FqName import org.jetbrains.jet.lang.resolve.name.FqName
import org.jetbrains.jet.descriptors.serialization.ClassDataFinder import org.jetbrains.jet.descriptors.serialization.ClassDataFinder
import org.jetbrains.jet.descriptors.serialization.ClassData import org.jetbrains.jet.descriptors.serialization.ClassData
import org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil import org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.diagnostic.Logger
class LocalClassFinder( class LocalClassFinder(
@@ -61,7 +61,7 @@ class LocalClassDataFinder(
log.error("Annotation data missing for ${binaryClass.getClassId()}") log.error("Annotation data missing for ${binaryClass.getClassId()}")
return null return null
} }
return JavaProtoBufUtil.readClassDataFrom(data) return JvmProtoBufUtil.readClassDataFrom(data)
} }
} }
@@ -69,4 +69,4 @@ private val JavaClass.classId: ClassId
get() { get() {
val outer = getOuterClass() val outer = getOuterClass()
return if (outer == null) ClassId.topLevel(getFqName()!!) else outer.classId.createNestedClassId(getName()) return if (outer == null) ClassId.topLevel(getFqName()!!) else outer.classId.createNestedClassId(getName())
} }
+1 -1
View File
@@ -37,7 +37,7 @@
<orderEntry type="library" name="kotlin-runtime" level="project" /> <orderEntry type="library" name="kotlin-runtime" level="project" />
<orderEntry type="library" scope="PROVIDED" name="gradle-and-groovy-plugin" level="project" /> <orderEntry type="library" scope="PROVIDED" name="gradle-and-groovy-plugin" level="project" />
<orderEntry type="module" module-name="serialization" /> <orderEntry type="module" module-name="serialization" />
<orderEntry type="module" module-name="serialization.java" /> <orderEntry type="module" module-name="serialization.jvm" />
<orderEntry type="library" scope="PROVIDED" name="maven" level="project" /> <orderEntry type="library" scope="PROVIDED" name="maven" level="project" />
<orderEntry type="module" module-name="util" /> <orderEntry type="module" module-name="util" />
<orderEntry type="module" module-name="eval4j" /> <orderEntry type="module" module-name="eval4j" />
@@ -19,7 +19,7 @@ package org.jetbrains.jet.plugin.debugger
import com.intellij.psi.search.FilenameIndex import com.intellij.psi.search.FilenameIndex
import org.jetbrains.jet.lang.resolve.kotlin.PackagePartClassUtils import org.jetbrains.jet.lang.resolve.kotlin.PackagePartClassUtils
import org.jetbrains.jet.lang.psi.JetElement import org.jetbrains.jet.lang.psi.JetElement
import org.jetbrains.jet.descriptors.serialization.JavaProtoBuf import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
import org.jetbrains.jet.renderer.DescriptorRenderer import org.jetbrains.jet.renderer.DescriptorRenderer
import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.diagnostic.Logger
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor
@@ -92,8 +92,8 @@ fun findPackagePartInternalNameForLibraryFile(elementAt: JetElement): String? {
} }
val proto = deserializedDescriptor.proto val proto = deserializedDescriptor.proto
if (proto.hasExtension(JavaProtoBuf.implClassName)) { if (proto.hasExtension(JvmProtoBuf.implClassName)) {
val name = deserializedDescriptor.nameResolver.getName(proto.getExtension(JavaProtoBuf.implClassName)!!) val name = deserializedDescriptor.nameResolver.getName(proto.getExtension(JvmProtoBuf.implClassName)!!)
return JvmClassName.byFqNameWithoutInnerClasses(packageFqName.child(name)).getInternalName() return JvmClassName.byFqNameWithoutInnerClasses(packageFqName.child(name)).getInternalName()
} }
+2 -3
View File
@@ -17,10 +17,9 @@
<orderEntry type="module" module-name="backend" scope="TEST" /> <orderEntry type="module" module-name="backend" scope="TEST" />
<orderEntry type="module" module-name="descriptors" /> <orderEntry type="module" module-name="descriptors" />
<orderEntry type="module" module-name="frontend.java" /> <orderEntry type="module" module-name="frontend.java" />
<orderEntry type="module" module-name="serialization.java" /> <orderEntry type="module" module-name="serialization.jvm" />
<orderEntry type="module" module-name="serialization" /> <orderEntry type="module" module-name="serialization" />
<orderEntry type="module" module-name="compiler-tests" scope="TEST" /> <orderEntry type="module" module-name="compiler-tests" scope="TEST" />
<orderEntry type="library" name="asm" level="project" /> <orderEntry type="library" name="asm" level="project" />
</component> </component>
</module> </module>
@@ -24,7 +24,7 @@ import com.intellij.util.io.IOUtil
import java.io.DataInput import java.io.DataInput
import org.jetbrains.jet.lang.resolve.name.FqName import org.jetbrains.jet.lang.resolve.name.FqName
import com.intellij.util.io.DataExternalizer import com.intellij.util.io.DataExternalizer
import org.jetbrains.jet.descriptors.serialization.BitEncoding import org.jetbrains.kotlin.serialization.jvm.BitEncoding
import java.util.Arrays import java.util.Arrays
import org.jetbrains.org.objectweb.asm.* import org.jetbrains.org.objectweb.asm.*
import com.intellij.util.io.EnumeratorStringDescriptor import com.intellij.util.io.EnumeratorStringDescriptor
@@ -28,8 +28,8 @@ import com.google.common.hash.Hashing
import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.util.io.FileUtil
import com.google.common.collect.Sets import com.google.common.collect.Sets
import java.util.HashSet import java.util.HashSet
import org.jetbrains.jet.descriptors.serialization.BitEncoding import org.jetbrains.kotlin.serialization.jvm.BitEncoding
import org.jetbrains.jet.descriptors.serialization.DebugJavaProtoBuf import org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf
import com.google.protobuf.ExtensionRegistry import com.google.protobuf.ExtensionRegistry
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
import org.jetbrains.jet.descriptors.serialization.DebugProtoBuf import org.jetbrains.jet.descriptors.serialization.DebugProtoBuf
@@ -158,7 +158,7 @@ fun classFileToString(classFile: File): String {
fun getExtensionRegistry(): ExtensionRegistry { fun getExtensionRegistry(): ExtensionRegistry {
val registry = ExtensionRegistry.newInstance()!! val registry = ExtensionRegistry.newInstance()!!
DebugJavaProtoBuf.registerAllExtensions(registry) DebugJvmProtoBuf.registerAllExtensions(registry)
return registry return registry
} }