Renamed JET_METHOD_FLAG* to FLAG* since they will be used not only in JetMethod annotation, but in JetClass, too.
This commit is contained in:
@@ -143,14 +143,14 @@ public class FunctionCodegen {
|
|||||||
BitSet kotlinFlags = new BitSet();
|
BitSet kotlinFlags = new BitSet();
|
||||||
if (CodegenUtil.isInterface(functionDescriptor.getContainingDeclaration()) && modality != Modality.ABSTRACT) {
|
if (CodegenUtil.isInterface(functionDescriptor.getContainingDeclaration()) && modality != Modality.ABSTRACT) {
|
||||||
kotlinFlags.set(modality == Modality.FINAL
|
kotlinFlags.set(modality == Modality.FINAL
|
||||||
? JvmStdlibNames.JET_METHOD_FLAG_FORCE_FINAL_BIT
|
? JvmStdlibNames.FLAG_FORCE_FINAL_BIT
|
||||||
: JvmStdlibNames.JET_METHOD_FLAG_FORCE_OPEN_BIT);
|
: JvmStdlibNames.FLAG_FORCE_OPEN_BIT);
|
||||||
}
|
}
|
||||||
if (functionDescriptor.getVisibility() == Visibilities.INTERNAL) {
|
if (functionDescriptor.getVisibility() == Visibilities.INTERNAL) {
|
||||||
kotlinFlags.set(JvmStdlibNames.JET_METHOD_FLAG_INTERNAL_BIT);
|
kotlinFlags.set(JvmStdlibNames.FLAG_INTERNAL_BIT);
|
||||||
}
|
}
|
||||||
else if (functionDescriptor.getVisibility() == Visibilities.PRIVATE) {
|
else if (functionDescriptor.getVisibility() == Visibilities.PRIVATE) {
|
||||||
kotlinFlags.set(JvmStdlibNames.JET_METHOD_FLAG_PRIVATE_BIT);
|
kotlinFlags.set(JvmStdlibNames.FLAG_PRIVATE_BIT);
|
||||||
}
|
}
|
||||||
aw.writeFlags(kotlinFlags);
|
aw.writeFlags(kotlinFlags);
|
||||||
aw.writeNullableReturnType(functionDescriptor.getReturnType().isNullable());
|
aw.writeNullableReturnType(functionDescriptor.getReturnType().isNullable());
|
||||||
|
|||||||
@@ -778,13 +778,13 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
|
|||||||
JetMethodAnnotationWriter aw = JetMethodAnnotationWriter.visitAnnotation(mv);
|
JetMethodAnnotationWriter aw = JetMethodAnnotationWriter.visitAnnotation(mv);
|
||||||
BitSet kotlinFlags = new BitSet();
|
BitSet kotlinFlags = new BitSet();
|
||||||
if (fun.getVisibility() == Visibilities.INTERNAL) {
|
if (fun.getVisibility() == Visibilities.INTERNAL) {
|
||||||
kotlinFlags.set(JvmStdlibNames.JET_METHOD_FLAG_INTERNAL_BIT);
|
kotlinFlags.set(JvmStdlibNames.FLAG_INTERNAL_BIT);
|
||||||
}
|
}
|
||||||
else if (fun.getVisibility() == Visibilities.PRIVATE) {
|
else if (fun.getVisibility() == Visibilities.PRIVATE) {
|
||||||
kotlinFlags.set(JvmStdlibNames.JET_METHOD_FLAG_PRIVATE_BIT);
|
kotlinFlags.set(JvmStdlibNames.FLAG_PRIVATE_BIT);
|
||||||
}
|
}
|
||||||
if (fun instanceof PropertyAccessorDescriptor) {
|
if (fun instanceof PropertyAccessorDescriptor) {
|
||||||
kotlinFlags.set(JvmStdlibNames.JET_METHOD_FLAG_PROPERTY_BIT);
|
kotlinFlags.set(JvmStdlibNames.FLAG_PROPERTY_BIT);
|
||||||
aw.writeTypeParameters(jvmSignature.getKotlinTypeParameter());
|
aw.writeTypeParameters(jvmSignature.getKotlinTypeParameter());
|
||||||
aw.writePropertyType(jvmSignature.getKotlinReturnType());
|
aw.writePropertyType(jvmSignature.getKotlinReturnType());
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -230,17 +230,17 @@ public class PropertyCodegen {
|
|||||||
JetMethodAnnotationWriter aw = JetMethodAnnotationWriter.visitAnnotation(mv);
|
JetMethodAnnotationWriter aw = JetMethodAnnotationWriter.visitAnnotation(mv);
|
||||||
Modality modality = propertyDescriptor.getModality();
|
Modality modality = propertyDescriptor.getModality();
|
||||||
BitSet flags = new BitSet();
|
BitSet flags = new BitSet();
|
||||||
flags.set(JvmStdlibNames.JET_METHOD_FLAG_PROPERTY_BIT);
|
flags.set(JvmStdlibNames.FLAG_PROPERTY_BIT);
|
||||||
if (CodegenUtil.isInterface(propertyDescriptor.getContainingDeclaration()) && modality != Modality.ABSTRACT) {
|
if (CodegenUtil.isInterface(propertyDescriptor.getContainingDeclaration()) && modality != Modality.ABSTRACT) {
|
||||||
flags.set(modality == Modality.FINAL
|
flags.set(modality == Modality.FINAL
|
||||||
? JvmStdlibNames.JET_METHOD_FLAG_FORCE_FINAL_BIT
|
? JvmStdlibNames.FLAG_FORCE_FINAL_BIT
|
||||||
: JvmStdlibNames.JET_METHOD_FLAG_FORCE_OPEN_BIT);
|
: JvmStdlibNames.FLAG_FORCE_OPEN_BIT);
|
||||||
}
|
}
|
||||||
if (visibility == Visibilities.INTERNAL) {
|
if (visibility == Visibilities.INTERNAL) {
|
||||||
flags.set(JvmStdlibNames.JET_METHOD_FLAG_INTERNAL_BIT);
|
flags.set(JvmStdlibNames.FLAG_INTERNAL_BIT);
|
||||||
}
|
}
|
||||||
else if (visibility == Visibilities.PRIVATE) {
|
else if (visibility == Visibilities.PRIVATE) {
|
||||||
flags.set(JvmStdlibNames.JET_METHOD_FLAG_PRIVATE_BIT);
|
flags.set(JvmStdlibNames.FLAG_PRIVATE_BIT);
|
||||||
}
|
}
|
||||||
aw.writeFlags(flags);
|
aw.writeFlags(flags);
|
||||||
aw.writeTypeParameters(typeParameters);
|
aw.writeTypeParameters(typeParameters);
|
||||||
|
|||||||
+1
-1
@@ -41,7 +41,7 @@ public class JetMethodAnnotationWriter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flagsValue != JvmStdlibNames.JET_METHOD_FLAGS_DEFAULT_VALUE) {
|
if (flagsValue != JvmStdlibNames.FLAGS_DEFAULT_VALUE) {
|
||||||
av.visit(JvmStdlibNames.JET_METHOD_FLAGS_FIELD, flagsValue);
|
av.visit(JvmStdlibNames.JET_METHOD_FLAGS_FIELD, flagsValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -1540,7 +1540,7 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: ugly
|
// TODO: ugly
|
||||||
if (method.getJetMethod().flags().get(JvmStdlibNames.JET_METHOD_FLAG_PROPERTY_BIT)) {
|
if (method.getJetMethod().flags().get(JvmStdlibNames.FLAG_PROPERTY_BIT)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1829,10 +1829,10 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
|
|||||||
private static Modality resolveModality(PsiMemberWrapper memberWrapper, boolean isFinal) {
|
private static Modality resolveModality(PsiMemberWrapper memberWrapper, boolean isFinal) {
|
||||||
if (memberWrapper instanceof PsiMethodWrapper) {
|
if (memberWrapper instanceof PsiMethodWrapper) {
|
||||||
PsiMethodWrapper method = (PsiMethodWrapper) memberWrapper;
|
PsiMethodWrapper method = (PsiMethodWrapper) memberWrapper;
|
||||||
if (method.getJetMethod().flags().get(JvmStdlibNames.JET_METHOD_FLAG_FORCE_OPEN_BIT)) {
|
if (method.getJetMethod().flags().get(JvmStdlibNames.FLAG_FORCE_OPEN_BIT)) {
|
||||||
return Modality.OPEN;
|
return Modality.OPEN;
|
||||||
}
|
}
|
||||||
if (method.getJetMethod().flags().get(JvmStdlibNames.JET_METHOD_FLAG_FORCE_FINAL_BIT)) {
|
if (method.getJetMethod().flags().get(JvmStdlibNames.FLAG_FORCE_FINAL_BIT)) {
|
||||||
return Modality.FINAL;
|
return Modality.FINAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -125,7 +125,7 @@ class JavaDescriptorResolverHelper {
|
|||||||
NamedMembers members = getNamedMembers(Name.identifier(propertyName));
|
NamedMembers members = getNamedMembers(Name.identifier(propertyName));
|
||||||
|
|
||||||
// TODO: some java properties too
|
// TODO: some java properties too
|
||||||
if (method.getJetMethod().flags().get(JvmStdlibNames.JET_METHOD_FLAG_PROPERTY_BIT)) {
|
if (method.getJetMethod().flags().get(JvmStdlibNames.FLAG_PROPERTY_BIT)) {
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
@@ -167,7 +167,7 @@ class JavaDescriptorResolverHelper {
|
|||||||
String propertyName = propertyParseResult.getPropertyName();
|
String propertyName = propertyParseResult.getPropertyName();
|
||||||
NamedMembers members = getNamedMembers(Name.identifier(propertyName));
|
NamedMembers members = getNamedMembers(Name.identifier(propertyName));
|
||||||
|
|
||||||
if (method.getJetMethod().flags().get(JvmStdlibNames.JET_METHOD_FLAG_PROPERTY_BIT)) {
|
if (method.getJetMethod().flags().get(JvmStdlibNames.FLAG_PROPERTY_BIT)) {
|
||||||
if (method.getParameters().size() == 0) {
|
if (method.getParameters().size() == 0) {
|
||||||
// TODO: report error properly
|
// TODO: report error properly
|
||||||
throw new IllegalStateException();
|
throw new IllegalStateException();
|
||||||
@@ -204,7 +204,7 @@ class JavaDescriptorResolverHelper {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!method.getJetMethod().flags().get(JvmStdlibNames.JET_METHOD_FLAG_PROPERTY_BIT)) {
|
if (!method.getJetMethod().flags().get(JvmStdlibNames.FLAG_PROPERTY_BIT)) {
|
||||||
NamedMembers namedMembers = getNamedMembers(Name.identifier(method.getName()));
|
NamedMembers namedMembers = getNamedMembers(Name.identifier(method.getName()));
|
||||||
namedMembers.addMethod(method);
|
namedMembers.addMethod(method);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,13 +48,13 @@ public class JvmStdlibNames {
|
|||||||
public static final String JET_METHOD_TYPE_PARAMETERS_FIELD = "typeParameters";
|
public static final String JET_METHOD_TYPE_PARAMETERS_FIELD = "typeParameters";
|
||||||
public static final String JET_METHOD_PROPERTY_TYPE_FIELD = "propertyType";
|
public static final String JET_METHOD_PROPERTY_TYPE_FIELD = "propertyType";
|
||||||
|
|
||||||
public static final int JET_METHOD_FLAGS_DEFAULT_VALUE = 0;
|
public static final int FLAGS_DEFAULT_VALUE = 0;
|
||||||
public static final int JET_METHOD_FLAGS_BITS = 5;
|
public static final int FLAGS_BITS = 5;
|
||||||
public static final int JET_METHOD_FLAG_PROPERTY_BIT = 0;
|
public static final int FLAG_PROPERTY_BIT = 0;
|
||||||
public static final int JET_METHOD_FLAG_FORCE_OPEN_BIT = 1;
|
public static final int FLAG_FORCE_OPEN_BIT = 1;
|
||||||
public static final int JET_METHOD_FLAG_FORCE_FINAL_BIT = 2;
|
public static final int FLAG_FORCE_FINAL_BIT = 2;
|
||||||
public static final int JET_METHOD_FLAG_PRIVATE_BIT = 3;
|
public static final int FLAG_PRIVATE_BIT = 3;
|
||||||
public static final int JET_METHOD_FLAG_INTERNAL_BIT = 4;
|
public static final int FLAG_INTERNAL_BIT = 4;
|
||||||
|
|
||||||
public static final JvmClassName JET_CONSTRUCTOR = JvmClassName.byFqNameWithoutInnerClasses("jet.runtime.typeinfo.JetConstructor");
|
public static final JvmClassName JET_CONSTRUCTOR = JvmClassName.byFqNameWithoutInnerClasses("jet.runtime.typeinfo.JetConstructor");
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -36,14 +36,14 @@ public class JetMethodAnnotation extends PsiAnnotationWrapper {
|
|||||||
private BitSet flags = null;
|
private BitSet flags = null;
|
||||||
public BitSet flags() {
|
public BitSet flags() {
|
||||||
if (flags == null) {
|
if (flags == null) {
|
||||||
int flagsValue = getIntAttribute(JvmStdlibNames.JET_METHOD_FLAGS_FIELD, JvmStdlibNames.JET_METHOD_FLAGS_DEFAULT_VALUE);
|
int flagsValue = getIntAttribute(JvmStdlibNames.JET_METHOD_FLAGS_FIELD, JvmStdlibNames.FLAGS_DEFAULT_VALUE);
|
||||||
if (flagsValue == JvmStdlibNames.JET_METHOD_FLAGS_DEFAULT_VALUE) {
|
if (flagsValue == JvmStdlibNames.FLAGS_DEFAULT_VALUE) {
|
||||||
// for compatibility
|
// for compatibility
|
||||||
flagsValue = getIntAttribute(JvmStdlibNames.JET_METHOD_KIND_FIELD, JvmStdlibNames.JET_METHOD_FLAGS_DEFAULT_VALUE);
|
flagsValue = getIntAttribute(JvmStdlibNames.JET_METHOD_KIND_FIELD, JvmStdlibNames.FLAGS_DEFAULT_VALUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
flags = new BitSet(JvmStdlibNames.JET_METHOD_FLAGS_BITS);
|
flags = new BitSet(JvmStdlibNames.FLAGS_BITS);
|
||||||
for (int bit = 0; bit < JvmStdlibNames.JET_METHOD_FLAGS_BITS; bit++) {
|
for (int bit = 0; bit < JvmStdlibNames.FLAGS_BITS; bit++) {
|
||||||
flags.set(bit, (flagsValue & (1 << bit)) != 0);
|
flags.set(bit, (flagsValue & (1 << bit)) != 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user