diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/ModuleConfiguration.java b/compiler/frontend/src/org/jetbrains/jet/lang/ModuleConfiguration.java index d5366ad5204..1d55fcf0c56 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/ModuleConfiguration.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/ModuleConfiguration.java @@ -42,8 +42,8 @@ public interface ModuleConfiguration { void addDefaultImports(@NotNull Collection directives); /** - * - * This method is called every time a namespace descriptor is created. Use it to add extra descriptors to the namespace, e.g. merge a Java package with a Kotlin one + * This method is called every time a namespace descriptor is created. Use it to add extra descriptors to the namespace, e.g. merge a + * Java package with a Kotlin one */ void extendNamespaceScope(@NotNull BindingTrace trace, @NotNull NamespaceDescriptor namespaceDescriptor, @NotNull WritableScope namespaceMemberScope); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/MutableClassDescriptor.java b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/MutableClassDescriptor.java index 6854bf0777d..75cc71b057e 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/MutableClassDescriptor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/MutableClassDescriptor.java @@ -22,7 +22,10 @@ import org.jetbrains.jet.lang.psi.JetParameter; import org.jetbrains.jet.lang.resolve.AbstractScopeAdapter; import org.jetbrains.jet.lang.resolve.BindingContextUtils; import org.jetbrains.jet.lang.resolve.BindingTrace; -import org.jetbrains.jet.lang.resolve.scopes.*; +import org.jetbrains.jet.lang.resolve.scopes.JetScope; +import org.jetbrains.jet.lang.resolve.scopes.RedeclarationHandler; +import org.jetbrains.jet.lang.resolve.scopes.WritableScope; +import org.jetbrains.jet.lang.resolve.scopes.WritableScopeImpl; import org.jetbrains.jet.lang.resolve.scopes.receivers.ClassReceiver; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; @@ -43,14 +46,21 @@ public class MutableClassDescriptor extends MutableClassDescriptorLite { private final WritableScope scopeForSupertypeResolution; private WritableScope scopeForInitializers = null; //contains members + primary constructor value parameters + map for backing fields - public MutableClassDescriptor(@NotNull BindingTrace trace, @NotNull DeclarationDescriptor containingDeclaration, @NotNull JetScope outerScope, ClassKind kind) { + public MutableClassDescriptor(@NotNull BindingTrace trace, @NotNull DeclarationDescriptor containingDeclaration, + @NotNull JetScope outerScope, ClassKind kind) { super(containingDeclaration, kind); RedeclarationHandler redeclarationHandler = RedeclarationHandler.DO_NOTHING; - setScopeForMemberLookup(new WritableScopeImpl(JetScope.EMPTY, this, redeclarationHandler).setDebugName("MemberLookup").changeLockLevel(WritableScope.LockLevel.BOTH)); - this.scopeForSupertypeResolution = new WritableScopeImpl(outerScope, this, redeclarationHandler).setDebugName("SupertypeResolution").changeLockLevel(WritableScope.LockLevel.BOTH); - this.scopeForMemberResolution = new WritableScopeImpl(scopeForSupertypeResolution, this, redeclarationHandler).setDebugName("MemberResolution").changeLockLevel(WritableScope.LockLevel.BOTH); + setScopeForMemberLookup(new WritableScopeImpl(JetScope.EMPTY, this, redeclarationHandler) + .setDebugName("MemberLookup") + .changeLockLevel(WritableScope.LockLevel.BOTH)); + this.scopeForSupertypeResolution = new WritableScopeImpl(outerScope, this, redeclarationHandler) + .setDebugName("SupertypeResolution") + .changeLockLevel(WritableScope.LockLevel.BOTH); + this.scopeForMemberResolution = new WritableScopeImpl(scopeForSupertypeResolution, this, redeclarationHandler) + .setDebugName("MemberResolution") + .changeLockLevel(WritableScope.LockLevel.BOTH); if (getKind() == ClassKind.TRAIT) { setUpScopeForInitializers(this); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/NamespaceDescriptorImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/NamespaceDescriptorImpl.java index 17990d263b2..d5d60a00eab 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/NamespaceDescriptorImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/NamespaceDescriptorImpl.java @@ -17,7 +17,6 @@ package org.jetbrains.jet.lang.descriptors; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor; import org.jetbrains.jet.lang.resolve.scopes.WritableScope; @@ -30,7 +29,9 @@ public class NamespaceDescriptorImpl extends AbstractNamespaceDescriptorImpl imp private WritableScope memberScope; - public NamespaceDescriptorImpl(@NotNull NamespaceDescriptorParent containingDeclaration, @NotNull List annotations, @NotNull String name) { + public NamespaceDescriptorImpl(@NotNull NamespaceDescriptorParent containingDeclaration, + @NotNull List annotations, + @NotNull String name) { super(containingDeclaration, annotations, name); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java index 10df49710e6..151ee5df33b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java @@ -109,6 +109,9 @@ public class Visibilities { public static final Set INTERNAL_VISIBILITIES = Sets.newHashSet(PRIVATE, INTERNAL, INTERNAL_PROTECTED, LOCAL); + private Visibilities() { + } + public static boolean isVisible(DeclarationDescriptorWithVisibility what, DeclarationDescriptor from) { DeclarationDescriptorWithVisibility parent = what; while (parent != null) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java index 9d0da50c551..cb05ae1c528 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java @@ -57,13 +57,13 @@ public class JetParsing extends AbstractJetParsing { /*package*/ static final TokenSet TYPE_REF_FIRST = TokenSet.create(LBRACKET, IDENTIFIER, FUN_KEYWORD, LPAR, CAPITALIZED_THIS_KEYWORD, HASH); private static final TokenSet RECEIVER_TYPE_TERMINATORS = TokenSet.create(DOT, SAFE_ACCESS); - public static JetParsing createForTopLevel(SemanticWhitespaceAwarePsiBuilder builder) { + static JetParsing createForTopLevel(SemanticWhitespaceAwarePsiBuilder builder) { JetParsing jetParsing = new JetParsing(builder); jetParsing.myExpressionParsing = new JetExpressionParsing(builder, jetParsing); return jetParsing; } - public static JetParsing createForByClause(final SemanticWhitespaceAwarePsiBuilder builder) { + private static JetParsing createForByClause(final SemanticWhitespaceAwarePsiBuilder builder) { final SemanticWhitespaceAwarePsiBuilderForByClause builderForByClause = new SemanticWhitespaceAwarePsiBuilderForByClause(builder); JetParsing jetParsing = new JetParsing(builderForByClause); jetParsing.myExpressionParsing = new JetExpressionParsing(builderForByClause, jetParsing) { @@ -94,7 +94,7 @@ public class JetParsing extends AbstractJetParsing { * : preamble toplevelObject[| import]* [eof] * ; */ - public void parseFile() { + void parseFile() { PsiBuilder.Marker fileMarker = mark(); parsePreamble(); @@ -297,7 +297,7 @@ public class JetParsing extends AbstractJetParsing { /* * (modifier | attribute)* */ - public boolean parseModifierList(JetNodeType nodeType, boolean allowShortAnnotations) { + boolean parseModifierList(JetNodeType nodeType, boolean allowShortAnnotations) { return parseModifierList(nodeType, null, allowShortAnnotations); } @@ -306,7 +306,7 @@ public class JetParsing extends AbstractJetParsing { * * Feeds modifiers (not attributes) into the passed consumer, if it is not null */ - public boolean parseModifierList(JetNodeType nodeType, Consumer tokenConsumer, boolean allowShortAnnotations) { + boolean parseModifierList(JetNodeType nodeType, @Nullable Consumer tokenConsumer, boolean allowShortAnnotations) { PsiBuilder.Marker list = mark(); boolean empty = true; while (!eof()) { @@ -336,8 +336,10 @@ public class JetParsing extends AbstractJetParsing { * : annotation* * ; */ - public void parseAnnotations(boolean allowShortAnnotations) { - while (parseAnnotation(allowShortAnnotations)); + void parseAnnotations(boolean allowShortAnnotations) { + while (true) { + if (!(parseAnnotation(allowShortAnnotations))) break; + } } /* @@ -417,7 +419,7 @@ public class JetParsing extends AbstractJetParsing { * (classBody? | enumClassBody) * ; */ - public IElementType parseClass(boolean enumClass) { + IElementType parseClass(boolean enumClass) { assert _atSet(CLASS_KEYWORD, TRAIT_KEYWORD); advance(); // CLASS_KEYWORD or TRAIT_KEYWORD @@ -649,7 +651,7 @@ public class JetParsing extends AbstractJetParsing { * : "object" SimpleName? ":" delegationSpecifier{","}? classBody? * ; */ - public void parseObject(boolean named, boolean optionalBody) { + void parseObject(boolean named, boolean optionalBody) { assert _at(OBJECT_KEYWORD); advance(); // OBJECT_KEYWORD @@ -785,7 +787,7 @@ public class JetParsing extends AbstractJetParsing { * : modifiers "type" SimpleName (typeParameters typeConstraints)? "=" type * ; */ - public JetNodeType parseTypeDef() { + JetNodeType parseTypeDef() { assert _at(TYPE_KEYWORD); advance(); // TYPE_KEYWORD @@ -815,11 +817,11 @@ public class JetParsing extends AbstractJetParsing { * (getter? setter? | setter? getter?) SEMI? * ; */ - public JetNodeType parseProperty() { + private JetNodeType parseProperty() { return parseProperty(false); } - public JetNodeType parseProperty(boolean local) { + JetNodeType parseProperty(boolean local) { if (at(VAL_KEYWORD) || at(VAR_KEYWORD)) { advance(); // VAL_KEYWORD or VAR_KEYWORD } @@ -970,7 +972,7 @@ public class JetParsing extends AbstractJetParsing { * functionBody? * ; */ - public IElementType parseFunction() { + IElementType parseFunction() { assert _at(FUN_KEYWORD); advance(); // FUN_KEYWORD @@ -1086,7 +1088,7 @@ public class JetParsing extends AbstractJetParsing { * : "{" (expressions)* "}" * ; */ - public void parseBlock() { + void parseBlock() { PsiBuilder.Marker block = mark(); myBuilder.enableNewlines(); @@ -1303,11 +1305,11 @@ public class JetParsing extends AbstractJetParsing { * nullableType * : typeDescriptor "?" */ - public void parseTypeRef() { + void parseTypeRef() { parseTypeRef(TokenSet.EMPTY); } - public void parseTypeRef(TokenSet extraRecoverySet) { + void parseTypeRef(TokenSet extraRecoverySet) { PsiBuilder.Marker typeRefMarker = parseTypeRefContents(extraRecoverySet); typeRefMarker.done(TYPE_REFERENCE); } @@ -1461,7 +1463,7 @@ public class JetParsing extends AbstractJetParsing { /* * (optionalProjection type){","} */ - public PsiBuilder.Marker parseTypeArgumentList() { + private PsiBuilder.Marker parseTypeArgumentList() { if (!at(LT)) return null; PsiBuilder.Marker list = mark(); @@ -1472,7 +1474,7 @@ public class JetParsing extends AbstractJetParsing { return list; } - public boolean tryParseTypeArgumentList(TokenSet extraRecoverySet) { + boolean tryParseTypeArgumentList(TokenSet extraRecoverySet) { myBuilder.disableNewlines(); advance(); // LT @@ -1605,7 +1607,7 @@ public class JetParsing extends AbstractJetParsing { * : parameter ("=" element)? * ; */ - public void parseValueParameterList(boolean isFunctionTypeContents, TokenSet recoverySet) { + void parseValueParameterList(boolean isFunctionTypeContents, TokenSet recoverySet) { PsiBuilder.Marker parameters = mark(); myBuilder.disableNewlines(); @@ -1736,10 +1738,6 @@ public class JetParsing extends AbstractJetParsing { this.tokens = TokenSet.create(token); } - public TokenDetector(TokenSet tokens) { - this.tokens = tokens; - } - @Override public void consume(IElementType item) { if (tokens.contains(item)) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportPath.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportPath.java index 661969e7550..720b8a469fb 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportPath.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportPath.java @@ -22,8 +22,8 @@ import org.jetbrains.annotations.NotNull; * @author Nikolay Krasko */ public final class ImportPath { - final @NotNull FqName fqName; - final boolean isAllUnder; + private final @NotNull FqName fqName; + private final boolean isAllUnder; public ImportPath(@NotNull FqName fqName, boolean isAllUnder) { this.fqName = fqName;