fix serialization of types in Read*BinaryClassTest
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassWithTypeParameter</*0*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.ClassWithTypeParameter</*0*/ P : jet.Any?>
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.ClassWithTypeParameter<P>
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassWithTypeParameter</*0*/ P : jet.Any?, /*1*/ Q : P> : jet.Any {
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?, /*1*/ Q : P><init>(): test.ClassWithTypeParameter</*0*/ P : jet.Any?, /*1*/ Q : P>
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?, /*1*/ Q : P><init>(): test.ClassWithTypeParameter<P, Q>
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassWithTypePRefSelf</*0*/ P : java.lang.Enum<P>?> : jet.Any {
|
||||
final /*constructor*/ fun </*0*/ P : java.lang.Enum<P>?><init>(): test.ClassWithTypePRefSelf</*0*/ P : java.lang.Enum<P>?>
|
||||
final /*constructor*/ fun </*0*/ P : java.lang.Enum<P>?><init>(): test.ClassWithTypePRefSelf<P>
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
namespace test
|
||||
|
||||
open class test.Outer</*0*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.Outer</*0*/ P : jet.Any?>
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.Outer<P>
|
||||
open class test.Outer.Inner</*0*/ Q : P> : jet.Any {
|
||||
final /*constructor*/ fun </*0*/ Q : P><init>(): test.Outer.Inner</*0*/ Q : P>
|
||||
final /*constructor*/ fun </*0*/ Q : P><init>(): test.Outer.Inner<Q>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
namespace test
|
||||
|
||||
final class test.Outer</*0*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.Outer</*0*/ P : jet.Any?>
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.Outer<P>
|
||||
final class test.Outer.Inner : jet.Any {
|
||||
final /*constructor*/ fun <init>(): test.Outer.Inner
|
||||
final fun </*0*/ Q : P>f(): jet.Tuple0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace test
|
||||
|
||||
open class test.MethodWithTypePRefClassP</*0*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.MethodWithTypePRefClassP</*0*/ P : jet.Any?>
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.MethodWithTypePRefClassP<P>
|
||||
final fun </*0*/ Q : P>f(): jet.Tuple0
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
namespace test
|
||||
|
||||
open class test.JavaBeanVarOfGenericType</*0*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.JavaBeanVarOfGenericType</*0*/ P : jet.Any?>
|
||||
open fun getCharacters(): java.util.ArrayList</*0*/ P : jet.Any?>?
|
||||
final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.JavaBeanVarOfGenericType<P>
|
||||
open fun getCharacters(): java.util.ArrayList<P>?
|
||||
open fun setCharacters(/*0*/ p0: java.util.ArrayList<P>?): jet.Tuple0
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.Wine</*0,r*/ in T : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ in T : jet.Any?><init>(): test.Wine</*0,r*/ in T : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ in T : jet.Any?><init>(): test.Wine<T>
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.Juice</*0,r*/ in T : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ in T : jet.Any?><init>(): test.Juice</*0,r*/ in T : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ in T : jet.Any?><init>(): test.Juice<T>
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.Beer</*0,r*/ T : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ T : jet.Any?><init>(): test.Beer</*0,r*/ T : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ T : jet.Any?><init>(): test.Beer<T>
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassParamReferencesParam</*0,r*/ A : jet.Any?, /*1,r*/ B : A> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ A : jet.Any?, /*1,r*/ B : A><init>(): test.ClassParamReferencesParam</*0,r*/ A : jet.Any?, /*1,r*/ B : A>
|
||||
final /*constructor*/ fun </*0,r*/ A : jet.Any?, /*1,r*/ B : A><init>(): test.ClassParamReferencesParam<A, B>
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassParamReferencesParam</*0,r*/ A : jet.Any?, /*1,r*/ in B : A> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ A : jet.Any?, /*1,r*/ in B : A><init>(): test.ClassParamReferencesParam</*0,r*/ A : jet.Any?, /*1,r*/ in B : A>
|
||||
final /*constructor*/ fun </*0,r*/ A : jet.Any?, /*1,r*/ in B : A><init>(): test.ClassParamReferencesParam<A, B>
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassParamReferencesSelf</*0,r*/ A : test.TraitWithP<A>> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ A : test.TraitWithP<A>><init>(): test.ClassParamReferencesSelf</*0,r*/ A : test.TraitWithP<A>>
|
||||
final /*constructor*/ fun </*0,r*/ A : test.TraitWithP<A>><init>(): test.ClassParamReferencesSelf<A>
|
||||
}
|
||||
abstract trait test.TraitWithP</*0,r*/ P : jet.Any?> : jet.Any {
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.Clock</*0,r*/ A : java.lang.Number> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ A : java.lang.Number><init>(): test.Clock</*0,r*/ A : java.lang.Number>
|
||||
final /*constructor*/ fun </*0,r*/ A : java.lang.Number><init>(): test.Clock<A>
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.Clock</*0,r*/ A : java.io.Serializable & java.lang.Number> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ A : java.io.Serializable & java.lang.Number><init>(): test.Clock</*0,r*/ A : java.io.Serializable & java.lang.Number>
|
||||
final /*constructor*/ fun </*0,r*/ A : java.io.Serializable & java.lang.Number><init>(): test.Clock<A>
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.Clock</*0,r*/ A : java.io.Serializable> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ A : java.io.Serializable><init>(): test.Clock</*0,r*/ A : java.io.Serializable>
|
||||
final /*constructor*/ fun </*0,r*/ A : java.io.Serializable><init>(): test.Clock<A>
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.Clock</*0,r*/ A : java.io.Serializable & java.lang.Number> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ A : java.io.Serializable & java.lang.Number><init>(): test.Clock</*0,r*/ A : java.io.Serializable & java.lang.Number>
|
||||
final /*constructor*/ fun </*0,r*/ A : java.io.Serializable & java.lang.Number><init>(): test.Clock<A>
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassTwoParams</*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?><init>(): test.ClassTwoParams</*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?><init>(): test.ClassTwoParams<P, Q>
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassTwoParams</*0,r*/ out P : jet.Any?, /*1,r*/ Q : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ out P : jet.Any?, /*1,r*/ Q : jet.Any?><init>(): test.ClassTwoParams</*0,r*/ out P : jet.Any?, /*1,r*/ Q : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ out P : jet.Any?, /*1,r*/ Q : jet.Any?><init>(): test.ClassTwoParams<P, Q>
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
namespace test
|
||||
|
||||
abstract class test.Aaa</*0,r*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.Aaa</*0,r*/ P : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.Aaa<P>
|
||||
}
|
||||
final class test.Bbb : test.Aaa<java.util.Random> {
|
||||
final /*constructor*/ fun <init>(): test.Bbb
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassParamUsedInFun</*0,r*/ in T : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ in T : jet.Any?><init>(): test.ClassParamUsedInFun</*0,r*/ in T : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ in T : jet.Any?><init>(): test.ClassParamUsedInFun<T>
|
||||
final fun f(/*0*/ t: T): jet.Int
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassParamUsedInFun</*0,r*/ T : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ T : jet.Any?><init>(): test.ClassParamUsedInFun</*0,r*/ T : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ T : jet.Any?><init>(): test.ClassParamUsedInFun<T>
|
||||
final fun f(/*0*/ t: T): jet.Int
|
||||
}
|
||||
|
||||
@@ -5,6 +5,6 @@ final class test.Inh : test.Base<jet.String> {
|
||||
final override /*1*/ fun foo(): jet.String
|
||||
}
|
||||
open class test.Base</*0,r*/ T : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ T : jet.Any?><init>(): test.Base</*0,r*/ T : jet.Any?>
|
||||
final fun foo(): /*0,r*/ T : jet.Any?
|
||||
final /*constructor*/ fun </*0,r*/ T : jet.Any?><init>(): test.Base<T>
|
||||
final fun foo(): T
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassWithConstructorAndTypeParameter</*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?><init>(): test.ClassWithConstructorAndTypeParameter</*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?><init>(): test.ClassWithConstructorAndTypeParameter<P, Q>
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassWithConstructorAndTypeParameter</*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?><init>(/*0*/ q: jet.Int): test.ClassWithConstructorAndTypeParameter</*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?><init>(/*0*/ q: jet.Int): test.ClassWithConstructorAndTypeParameter<P, Q>
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassWithConstructorAndTypeParameter</*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?><init>(/*0*/ q: Q): test.ClassWithConstructorAndTypeParameter</*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?><init>(/*0*/ q: Q): test.ClassWithConstructorAndTypeParameter<P, Q>
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.ClassWithConstructorAndTypeParameter</*0,r*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ClassWithConstructorAndTypeParameter</*0,r*/ P : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ClassWithConstructorAndTypeParameter<P>
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
namespace test
|
||||
|
||||
final class test.OneTypeParameterErased</*0,r*/ P : jet.Any?, /*1*/ Q : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?, /*1*/ Q : jet.Any?><init>(/*0*/ q: Q): test.OneTypeParameterErased</*0,r*/ P : jet.Any?, /*1*/ Q : jet.Any?>
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?, /*1*/ Q : jet.Any?><init>(/*0*/ q: Q): test.OneTypeParameterErased<P, Q>
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
namespace test
|
||||
|
||||
final val </*0,r*/ P : jet.Any?> /*0,r*/ P : jet.Any?.anotherJavaClass: java.lang.Class</*0,r*/ P : jet.Any?>
|
||||
final val </*0,r*/ P : jet.Any?> P.anotherJavaClass: java.lang.Class<P>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace test
|
||||
|
||||
final class test.ExtValInClass</*0,r*/ T : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ T : jet.Any?><init>(): test.ExtValInClass</*0,r*/ T : jet.Any?>
|
||||
final val jet.Int.asas: /*0,r*/ T : jet.Any?
|
||||
final /*constructor*/ fun </*0,r*/ T : jet.Any?><init>(): test.ExtValInClass<T>
|
||||
final val jet.Int.asas: T
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace test
|
||||
|
||||
final class test.ExtValInClass</*0,r*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValInClass</*0,r*/ P : jet.Any?>
|
||||
final val jet.Int.asas: /*0,r*/ P : jet.Any??
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValInClass<P>
|
||||
final val jet.Int.asas: P?
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace test
|
||||
|
||||
final class test.ExtValPIntInClass</*0,r*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValPIntInClass</*0,r*/ P : jet.Any?>
|
||||
final val /*0,r*/ P : jet.Any?.asas: jet.Int
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValPIntInClass<P>
|
||||
final val P.asas: jet.Int
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
namespace test
|
||||
|
||||
final var </*0,r*/ P : jet.Any?> /*0,r*/ P : jet.Any?.anotherJavaClass: java.lang.Class</*0,r*/ P : jet.Any?>
|
||||
final var </*0,r*/ P : jet.Any?> P.anotherJavaClass: java.lang.Class<P>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace test
|
||||
|
||||
final class test.ExtValInClass</*0,r*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValInClass</*0,r*/ P : jet.Any?>
|
||||
final var jet.Int.asas: /*0,r*/ P : jet.Any?
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValInClass<P>
|
||||
final var jet.Int.asas: P
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace test
|
||||
|
||||
final class test.ExtValInClass</*0,r*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValInClass</*0,r*/ P : jet.Any?>
|
||||
final var jet.Int.asas: /*0,r*/ P : jet.Any??
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValInClass<P>
|
||||
final var jet.Int.asas: P?
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
namespace test
|
||||
|
||||
final var </*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?> java.util.Map</*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?>.asas: jet.Int
|
||||
final var </*0,r*/ P : jet.Any?, /*1,r*/ Q : jet.Any?> java.util.Map<P, Q>.asas: jet.Int
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace test
|
||||
|
||||
final class test.ExtValPIntInClass</*0,r*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValPIntInClass</*0,r*/ P : jet.Any?>
|
||||
final var /*0,r*/ P : jet.Any?.asas: jet.Int
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValPIntInClass<P>
|
||||
final var P.asas: jet.Int
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace test
|
||||
|
||||
final class test.ExtValPIntInClass</*0,r*/ P : jet.Any?> : jet.Any {
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValPIntInClass</*0,r*/ P : jet.Any?>
|
||||
final var /*0,r*/ P : jet.Any??.asas: jet.Int
|
||||
final /*constructor*/ fun </*0,r*/ P : jet.Any?><init>(): test.ExtValPIntInClass<P>
|
||||
final var P?.asas: jet.Int
|
||||
}
|
||||
|
||||
@@ -43,10 +43,7 @@ import org.jetbrains.jet.lang.types.TypeProjection;
|
||||
import org.jetbrains.jet.lang.types.Variance;
|
||||
import org.junit.Assert;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.io.*;
|
||||
import java.lang.reflect.Method;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.ArrayList;
|
||||
@@ -263,15 +260,15 @@ class NamespaceComparator {
|
||||
}
|
||||
|
||||
if (fun.getReceiverParameter().exists()) {
|
||||
new Serializer(sb).serialize(fun.getReceiverParameter());
|
||||
new TypeSerializer(sb).serialize(fun.getReceiverParameter());
|
||||
sb.append(".");
|
||||
}
|
||||
|
||||
sb.append(fun.getName());
|
||||
sb.append("(");
|
||||
new ValueParameterSerializer(sb).serializeCommaSeparated(fun.getValueParameters());
|
||||
new TypeSerializer(sb).serializeCommaSeparated(fun.getValueParameters());
|
||||
sb.append("): ");
|
||||
new Serializer(sb).serialize(fun.getReturnType());
|
||||
new TypeSerializer(sb).serialize(fun.getReturnType());
|
||||
}
|
||||
|
||||
public void serialize(ExtensionReceiver extensionReceiver) {
|
||||
@@ -298,13 +295,12 @@ class NamespaceComparator {
|
||||
sb.append("> ");
|
||||
}
|
||||
if (prop.getReceiverParameter().exists()) {
|
||||
// TODO: print only name for type parameter
|
||||
new Serializer(sb).serialize(prop.getReceiverParameter().getType());
|
||||
new TypeSerializer(sb).serialize(prop.getReceiverParameter().getType());
|
||||
sb.append(".");
|
||||
}
|
||||
sb.append(prop.getName());
|
||||
sb.append(": ");
|
||||
new Serializer(sb).serialize(prop.getType());
|
||||
new TypeSerializer(sb).serialize(prop.getType());
|
||||
}
|
||||
|
||||
public void serialize(ValueParameterDescriptor valueParameter) {
|
||||
@@ -317,9 +313,9 @@ class NamespaceComparator {
|
||||
sb.append(valueParameter.getName());
|
||||
sb.append(": ");
|
||||
if (valueParameter.getVarargElementType() != null) {
|
||||
serialize(valueParameter.getVarargElementType());
|
||||
new TypeSerializer(sb).serialize(valueParameter.getVarargElementType());
|
||||
} else {
|
||||
serialize(valueParameter.getType());
|
||||
new TypeSerializer(sb).serialize(valueParameter.getType());
|
||||
}
|
||||
if (valueParameter.hasDefaultValue()) {
|
||||
sb.append(" = ?");
|
||||
@@ -339,28 +335,8 @@ class NamespaceComparator {
|
||||
sb.append(modality.name().toLowerCase());
|
||||
}
|
||||
|
||||
public void serialize(@NotNull JetType type) {
|
||||
serialize(type.getConstructor().getDeclarationDescriptor());
|
||||
if (!type.getArguments().isEmpty()) {
|
||||
sb.append("<");
|
||||
boolean first = true;
|
||||
for (TypeProjection proj : type.getArguments()) {
|
||||
if (!first) {
|
||||
sb.append(", ");
|
||||
}
|
||||
serialize(proj.getProjectionKind());
|
||||
serialize(proj.getType());
|
||||
first = false;
|
||||
}
|
||||
sb.append(">");
|
||||
}
|
||||
if (type.isNullable()) {
|
||||
sb.append("?");
|
||||
}
|
||||
}
|
||||
|
||||
public void serialize(AnnotationDescriptor annotation) {
|
||||
serialize(annotation.getType());
|
||||
new TypeSerializer(sb).serialize(annotation.getType());
|
||||
sb.append("(");
|
||||
serializeCommaSeparated(annotation.getValueArguments());
|
||||
sb.append(")");
|
||||
@@ -436,7 +412,7 @@ class NamespaceComparator {
|
||||
List<String> list = new ArrayList<String>();
|
||||
for (JetType upper : param.getUpperBounds()) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
new ValueParameterSerializer(sb).serialize(upper);
|
||||
new TypeSerializer(sb).serialize(upper);
|
||||
list.add(sb.toString());
|
||||
}
|
||||
Collections.sort(list);
|
||||
@@ -446,6 +422,39 @@ class NamespaceComparator {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static class TypeSerializer extends Serializer {
|
||||
|
||||
public TypeSerializer(StringBuilder sb) {
|
||||
super(sb);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serialize(TypeParameterDescriptor param) {
|
||||
sb.append(param.getName());
|
||||
}
|
||||
|
||||
public void serialize(@NotNull JetType type) {
|
||||
serialize(type.getConstructor().getDeclarationDescriptor());
|
||||
if (!type.getArguments().isEmpty()) {
|
||||
sb.append("<");
|
||||
boolean first = true;
|
||||
for (TypeProjection proj : type.getArguments()) {
|
||||
if (!first) {
|
||||
sb.append(", ");
|
||||
}
|
||||
serialize(proj.getProjectionKind());
|
||||
serialize(proj.getType());
|
||||
first = false;
|
||||
}
|
||||
sb.append(">");
|
||||
}
|
||||
if (type.isNullable()) {
|
||||
sb.append("?");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static boolean isRootNs(DeclarationDescriptor ns) {
|
||||
// upyachka
|
||||
@@ -474,18 +483,6 @@ class NamespaceComparator {
|
||||
}
|
||||
}
|
||||
|
||||
private static class ValueParameterSerializer extends Serializer {
|
||||
|
||||
public ValueParameterSerializer(StringBuilder sb) {
|
||||
super(sb);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serialize(TypeParameterDescriptor param) {
|
||||
sb.append(param.getName());
|
||||
}
|
||||
}
|
||||
|
||||
private class FullContentSerialier extends Serializer {
|
||||
private FullContentSerialier(StringBuilder sb) {
|
||||
super(sb);
|
||||
@@ -513,7 +510,7 @@ class NamespaceComparator {
|
||||
|
||||
if (!klass.getTypeConstructor().getSupertypes().isEmpty()) {
|
||||
sb.append(" : ");
|
||||
new Serializer(sb).serializeCommaSeparated(new ArrayList<JetType>(klass.getTypeConstructor().getSupertypes()));
|
||||
new TypeSerializer(sb).serializeCommaSeparated(new ArrayList<JetType>(klass.getTypeConstructor().getSupertypes()));
|
||||
}
|
||||
|
||||
sb.append(" {\n");
|
||||
|
||||
Reference in New Issue
Block a user