Fixes after merge
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package org.jetbrains.jet.lang.descriptors;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.psi.JetModifierList;
|
||||
import org.jetbrains.jet.lexer.JetTokens;
|
||||
@@ -31,8 +30,8 @@ public class ClassModifiers extends Modifiers {
|
||||
public static ClassModifiers resolveModifiers(@Nullable JetModifierList modifierList) {
|
||||
if (modifierList == null) return DEFAULT_MODIFIERS;
|
||||
return new ClassModifiers(
|
||||
modifierList.hasModifier(JetTokens.ABSTRACT_KEYWORD),
|
||||
modifierList.hasModifier(JetTokens.OPEN_KEYWORD) || modifierList.hasModifier(JetTokens.ABSTRACT_KEYWORD),
|
||||
modifierList.hasModifier(JetTokens.ABSTRACT_KEYWORD) || modifierList.hasModifier(JetTokens.TRAIT_KEYWORD),
|
||||
modifierList.hasModifier(JetTokens.OPEN_KEYWORD) || modifierList.hasModifier(JetTokens.ABSTRACT_KEYWORD) || modifierList.hasModifier(JetTokens.TRAIT_KEYWORD),
|
||||
modifierList.hasModifier(JetTokens.TRAIT_KEYWORD)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -636,7 +636,7 @@ public class TopDownAnalyzer {
|
||||
public void visitDelegationToSuperCallSpecifier(JetDelegatorToSuperCall call) {
|
||||
JetValueArgumentList valueArgumentList = call.getValueArgumentList();
|
||||
ASTNode node = valueArgumentList == null ? call.getNode() : valueArgumentList.getNode();
|
||||
if (descriptor.isTrait()) {
|
||||
if (descriptor.getClassModifiers().isTrait()) {
|
||||
trace.getErrorHandler().genericError(node, "Traits can not initialize supertypes");
|
||||
}
|
||||
JetTypeReference typeReference = call.getTypeReference();
|
||||
@@ -647,7 +647,7 @@ public class TopDownAnalyzer {
|
||||
recordSupertype(typeReference, supertype);
|
||||
ClassDescriptor classDescriptor = TypeUtils.getClassDescriptor(supertype);
|
||||
if (classDescriptor != null) {
|
||||
if (classDescriptor.isTrait()) {
|
||||
if (classDescriptor.getClassModifiers().isTrait()) {
|
||||
trace.getErrorHandler().genericError(node, "A trait may not have a constructor");
|
||||
}
|
||||
}
|
||||
@@ -656,7 +656,7 @@ public class TopDownAnalyzer {
|
||||
recordSupertype(typeReference, trace.getBindingContext().get(BindingContext.TYPE, typeReference));
|
||||
}
|
||||
}
|
||||
else if (!descriptor.isTrait()) {
|
||||
else if (!descriptor.getClassModifiers().isTrait()) {
|
||||
JetType supertype = trace.getBindingContext().get(BindingContext.TYPE, typeReference);
|
||||
recordSupertype(typeReference, supertype);
|
||||
|
||||
@@ -675,8 +675,8 @@ public class TopDownAnalyzer {
|
||||
if (supertype != null) {
|
||||
ClassDescriptor classDescriptor = TypeUtils.getClassDescriptor(supertype);
|
||||
if (classDescriptor != null) {
|
||||
if (!descriptor.isTrait()) {
|
||||
if (classDescriptor.hasConstructors() && !ErrorUtils.isError(classDescriptor.getTypeConstructor()) && !classDescriptor.isTrait()) {
|
||||
if (!descriptor.getClassModifiers().isTrait()) {
|
||||
if (classDescriptor.hasConstructors() && !ErrorUtils.isError(classDescriptor.getTypeConstructor()) && !classDescriptor.getClassModifiers().isTrait()) {
|
||||
trace.getErrorHandler().genericError(specifier.getNode(), "This type has a constructor, and thus must be initialized here");
|
||||
}
|
||||
}
|
||||
@@ -718,7 +718,7 @@ public class TopDownAnalyzer {
|
||||
|
||||
ClassDescriptor classDescriptor = TypeUtils.getClassDescriptor(supertype);
|
||||
if (classDescriptor != null) {
|
||||
if (!classDescriptor.isTrait()) {
|
||||
if (!classDescriptor.getClassModifiers().isTrait()) {
|
||||
if (classAppeared) {
|
||||
trace.getErrorHandler().genericError(typeReference.getNode(), "Only one class may appear in a supertype list");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user