KotlinInfo now has only one parameter data

Name table is now also stored in data, before the serialized class.
ClassData is now public, since it's used in plenty of places as a holder of
deserialized protobuf classes.
This commit is contained in:
Alexander Udalov
2013-06-27 22:49:08 +04:00
parent 4e0516472d
commit 83501c3722
8 changed files with 85 additions and 40 deletions
@@ -16,6 +16,7 @@
package org.jetbrains.jet.lang.resolve.java;
import jet.KotlinInfo;
import jet.runtime.typeinfo.JetConstructor;
public class JvmStdlibNames {
@@ -68,6 +69,7 @@ public class JvmStdlibNames {
*/
public static final String JET_CONSTRUCTOR_HIDDEN_FIELD = "hidden";
public static final JvmClassName KOTLIN_INFO_CLASS = JvmClassName.byFqNameWithoutInnerClasses(KotlinInfo.class.getCanonicalName());
public static final JvmClassName JET_CLASS = JvmClassName.byFqNameWithoutInnerClasses("jet.runtime.typeinfo.JetClass");
@@ -25,10 +25,7 @@ import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor;
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
import org.jetbrains.jet.lang.resolve.java.DescriptorResolverUtils;
import org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule;
import org.jetbrains.jet.lang.resolve.java.JavaToKotlinClassMap;
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
import org.jetbrains.jet.lang.resolve.java.*;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.Name;
@@ -86,7 +83,7 @@ public final class JavaAnnotationResolver {
// Don't process internal jet annotations and jetbrains NotNull annotations
if (qname.startsWith("jet.runtime.typeinfo.")
|| qname.equals(JvmAbi.JETBRAINS_NOT_NULL_ANNOTATION.getFqName().asString())
|| qname.equals("jet.KotlinInfo")
|| qname.equals(JvmStdlibNames.KOTLIN_INFO_CLASS.getFqName().asString())
) {
return null;
}