From c159bc3a8c6459120a42cdb0943eaffbc4d7b781 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Thu, 14 Jun 2012 17:26:35 +0400 Subject: [PATCH] Stubs - Extract interface for JetElement and JetExpression (Stub psi element should extend StubBasedPsiElementBase but JetElement extended ASTWrapperPsiElement) --- .../src/org/jetbrains/jet/JetNodeType.java | 3 +- .../jet/lang/cfg/JetControlFlowProcessor.java | 5 +- .../jet/lang/psi/JetAnnotatedExpression.java | 4 +- .../jetbrains/jet/lang/psi/JetAnnotation.java | 2 +- .../jet/lang/psi/JetAnnotationEntry.java | 2 +- .../lang/psi/JetArrayAccessExpression.java | 2 +- .../jet/lang/psi/JetBinaryExpression.java | 6 +- .../psi/JetBinaryExpressionWithTypeRHS.java | 4 +- .../jet/lang/psi/JetBlockExpression.java | 2 +- .../jet/lang/psi/JetCallExpression.java | 4 +- .../jet/lang/psi/JetCatchClause.java | 4 +- .../org/jetbrains/jet/lang/psi/JetClass.java | 13 ++- .../jetbrains/jet/lang/psi/JetClassBody.java | 2 +- .../jet/lang/psi/JetClassInitializer.java | 2 +- .../jet/lang/psi/JetConstantExpression.java | 2 +- .../psi/JetConstructorCalleeExpression.java | 2 +- .../jet/lang/psi/JetContainerNode.java | 2 +- .../jet/lang/psi/JetDeclaration.java | 2 +- .../jet/lang/psi/JetDecomposerPattern.java | 2 +- .../jet/lang/psi/JetDelegationSpecifier.java | 2 +- .../lang/psi/JetDelegationSpecifierList.java | 2 +- .../JetDelegatorByExpressionSpecifier.java | 2 +- .../jetbrains/jet/lang/psi/JetElement.java | 82 ++--------------- .../jet/lang/psi/JetElementImpl.java | 88 +++++++++++++++++++ .../jetbrains/jet/lang/psi/JetExpression.java | 28 ++---- .../jet/lang/psi/JetExpressionImpl.java | 47 ++++++++++ .../jet/lang/psi/JetExpressionPattern.java | 2 +- .../jet/lang/psi/JetFinallySection.java | 2 +- .../jetbrains/jet/lang/psi/JetFunction.java | 2 +- .../psi/JetFunctionLiteralExpression.java | 2 +- .../lang/psi/JetIdeTemplateExpression.java | 2 +- .../jet/lang/psi/JetIfExpression.java | 2 +- .../jet/lang/psi/JetImportDirective.java | 4 +- .../jet/lang/psi/JetInitializerList.java | 2 +- .../jet/lang/psi/JetIsExpression.java | 4 +- .../lang/psi/JetLabelQualifiedExpression.java | 5 +- .../jet/lang/psi/JetLoopExpression.java | 2 +- .../jet/lang/psi/JetModifierList.java | 2 +- .../jet/lang/psi/JetNamespaceBody.java | 2 +- .../lang/psi/JetObjectLiteralExpression.java | 2 +- .../jetbrains/jet/lang/psi/JetParameter.java | 2 +- .../jet/lang/psi/JetParameterList.java | 2 +- .../lang/psi/JetParenthesizedExpression.java | 4 +- .../jetbrains/jet/lang/psi/JetPattern.java | 2 +- .../jet/lang/psi/JetPostfixExpression.java | 2 +- .../jet/lang/psi/JetPrefixExpression.java | 2 +- .../jetbrains/jet/lang/psi/JetProperty.java | 2 +- .../jet/lang/psi/JetPropertyAccessor.java | 2 +- .../jetbrains/jet/lang/psi/JetPsiUtil.java | 2 +- .../jet/lang/psi/JetQualifiedExpression.java | 6 +- .../jet/lang/psi/JetReferenceExpression.java | 2 +- .../jet/lang/psi/JetReturnExpression.java | 2 +- .../lang/psi/JetRootNamespaceExpression.java | 2 +- .../jet/lang/psi/JetSecondaryConstructor.java | 2 +- .../jet/lang/psi/JetStatementExpression.java | 4 +- .../jet/lang/psi/JetStringTemplateEntry.java | 4 +- .../lang/psi/JetStringTemplateExpression.java | 2 +- .../jet/lang/psi/JetThrowExpression.java | 4 +- .../jet/lang/psi/JetTryExpression.java | 2 +- .../jet/lang/psi/JetTupleExpression.java | 2 +- .../jet/lang/psi/JetTuplePatternEntry.java | 2 +- .../jet/lang/psi/JetTypeArgumentList.java | 2 +- .../jet/lang/psi/JetTypeConstraint.java | 2 +- .../jet/lang/psi/JetTypeConstraintList.java | 2 +- .../jet/lang/psi/JetTypeElement.java | 2 +- .../jet/lang/psi/JetTypeParameterList.java | 2 +- .../jet/lang/psi/JetTypeProjection.java | 2 +- .../jet/lang/psi/JetTypeReference.java | 2 +- .../jet/lang/psi/JetUnaryExpression.java | 2 +- .../jet/lang/psi/JetValueArgument.java | 4 +- .../jet/lang/psi/JetValueArgumentList.java | 2 +- .../jet/lang/psi/JetValueArgumentName.java | 2 +- .../jet/lang/psi/JetWhenCondition.java | 2 +- .../jet/lang/psi/JetWhenConditionInRange.java | 2 +- .../jetbrains/jet/lang/psi/JetWhenEntry.java | 4 +- .../jet/lang/psi/JetWhenExpression.java | 4 +- .../jetbrains/jet/lang/psi/ValueArgument.java | 2 +- .../stubs/elements/JetClassElementType.java | 4 +- .../jetbrains/jet/parsing/JetParsingTest.java | 3 +- .../JetStatementGroupSelectioner.java | 2 + .../resolvewindow/ResolveToolwindow.java | 27 +++--- .../quickfix/RemoveFunctionBodyFix.java | 4 +- .../plugin/quickfix/RemoveModifierFix.java | 8 +- 83 files changed, 276 insertions(+), 215 deletions(-) create mode 100644 compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImpl.java create mode 100644 compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionImpl.java diff --git a/compiler/frontend/src/org/jetbrains/jet/JetNodeType.java b/compiler/frontend/src/org/jetbrains/jet/JetNodeType.java index 15ba3700e21..1d5b48c9a10 100644 --- a/compiler/frontend/src/org/jetbrains/jet/JetNodeType.java +++ b/compiler/frontend/src/org/jetbrains/jet/JetNodeType.java @@ -24,6 +24,7 @@ import com.intellij.psi.tree.IElementType; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.psi.JetElement; +import org.jetbrains.jet.lang.psi.JetElementImpl; import org.jetbrains.jet.plugin.JetLanguage; import java.lang.reflect.Constructor; @@ -49,7 +50,7 @@ public class JetNodeType extends IElementType { try { if (myPsiFactory == null) { - return new JetElement(node); + return new JetElementImpl(node); } return myPsiFactory.newInstance(node); } catch (Exception e) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java index b228032054d..02a2a388c9d 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java @@ -22,20 +22,19 @@ import com.intellij.psi.tree.IElementType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.JetNodeTypes; +import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowInstructionsGenerator; import org.jetbrains.jet.lang.cfg.pseudocode.LocalDeclarationInstruction; import org.jetbrains.jet.lang.cfg.pseudocode.Pseudocode; -import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowInstructionsGenerator; import org.jetbrains.jet.lang.cfg.pseudocode.PseudocodeImpl; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingContextUtils; import org.jetbrains.jet.lang.resolve.BindingTrace; import org.jetbrains.jet.lang.resolve.constants.BooleanValue; -import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant; import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstantResolver; -import org.jetbrains.jet.lang.types.lang.JetStandardClasses; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.expressions.OperatorConventions; +import org.jetbrains.jet.lang.types.lang.JetStandardClasses; import org.jetbrains.jet.lang.types.lang.JetStandardLibrary; import org.jetbrains.jet.lexer.JetTokens; diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotatedExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotatedExpression.java index c19fc6b534e..e3cdb5ce71b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotatedExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotatedExpression.java @@ -28,7 +28,7 @@ import java.util.List; /** * @author max */ -public class JetAnnotatedExpression extends JetExpression { +public class JetAnnotatedExpression extends JetExpressionImpl { public JetAnnotatedExpression(@NotNull ASTNode node) { super(node); } @@ -45,7 +45,7 @@ public class JetAnnotatedExpression extends JetExpression { @Nullable public JetExpression getBaseExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } public List getAttributeAnnotations() { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotation.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotation.java index 3c0b5d482f0..9aafca84173 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotation.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotation.java @@ -25,7 +25,7 @@ import java.util.List; /** * @author max */ -public class JetAnnotation extends JetElement { +public class JetAnnotation extends JetElementImpl { public JetAnnotation(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotationEntry.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotationEntry.java index ae7298da7d3..38dadbc07aa 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotationEntry.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetAnnotationEntry.java @@ -27,7 +27,7 @@ import java.util.List; /** * @author max */ -public class JetAnnotationEntry extends JetElement implements JetCallElement { +public class JetAnnotationEntry extends JetElementImpl implements JetCallElement { public JetAnnotationEntry(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetArrayAccessExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetArrayAccessExpression.java index 25c9c4c41d5..64a14b7e2c4 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetArrayAccessExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetArrayAccessExpression.java @@ -57,7 +57,7 @@ public class JetArrayAccessExpression extends JetReferenceExpression { @NotNull public JetExpression getArrayExpression() { - JetExpression baseExpression = findChildByClass(JetExpression.class); + JetExpression baseExpression = findChildByClass(JetExpressionImpl.class); assert baseExpression != null; return baseExpression; } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBinaryExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBinaryExpression.java index b30ca179b92..a24997e8b44 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBinaryExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBinaryExpression.java @@ -26,7 +26,7 @@ import org.jetbrains.jet.JetNodeTypes; /** * @author max */ -public class JetBinaryExpression extends JetExpression implements JetOperationExpression { +public class JetBinaryExpression extends JetExpressionImpl implements JetOperationExpression { public JetBinaryExpression(@NotNull ASTNode node) { super(node); } @@ -43,7 +43,7 @@ public class JetBinaryExpression extends JetExpression implements JetOperationEx @NotNull public JetExpression getLeft() { - JetExpression left = findChildByClass(JetExpression.class); + JetExpression left = findChildByClass(JetExpressionImpl.class); assert left != null; return left; } @@ -53,7 +53,7 @@ public class JetBinaryExpression extends JetExpression implements JetOperationEx ASTNode node = getOperationReference().getNode().getTreeNext(); while (node != null) { PsiElement psi = node.getPsi(); - if (psi instanceof JetExpression) { + if (psi instanceof JetExpressionImpl) { return (JetExpression) psi; } node = node.getTreeNext(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBinaryExpressionWithTypeRHS.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBinaryExpressionWithTypeRHS.java index 8fb2de450a6..ccbc9af63d9 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBinaryExpressionWithTypeRHS.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBinaryExpressionWithTypeRHS.java @@ -25,7 +25,7 @@ import org.jetbrains.jet.JetNodeTypes; /** * @author max */ -public class JetBinaryExpressionWithTypeRHS extends JetExpression { +public class JetBinaryExpressionWithTypeRHS extends JetExpressionImpl { public JetBinaryExpressionWithTypeRHS(@NotNull ASTNode node) { super(node); } @@ -42,7 +42,7 @@ public class JetBinaryExpressionWithTypeRHS extends JetExpression { @NotNull public JetExpression getLeft() { - JetExpression left = findChildByClass(JetExpression.class); + JetExpression left = findChildByClass(JetExpressionImpl.class); assert left != null; return left; } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBlockExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBlockExpression.java index 7311f52302e..f9cfd429f50 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBlockExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetBlockExpression.java @@ -30,7 +30,7 @@ import java.util.List; /** * @author max */ -public class JetBlockExpression extends JetExpression implements JetStatementExpression, PsiModifiableCodeBlock { +public class JetBlockExpression extends JetExpressionImpl implements JetStatementExpression, PsiModifiableCodeBlock { public JetBlockExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCallExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCallExpression.java index 8358571f17f..d8e03ed6b68 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCallExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCallExpression.java @@ -30,7 +30,7 @@ import java.util.List; /** * @author max */ -public class JetCallExpression extends JetExpression implements JetCallElement { +public class JetCallExpression extends JetExpressionImpl implements JetCallElement { public JetCallExpression(@NotNull ASTNode node) { super(node); } @@ -48,7 +48,7 @@ public class JetCallExpression extends JetExpression implements JetCallElement { @Override @Nullable public JetExpression getCalleeExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Override diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCatchClause.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCatchClause.java index ec353b670c5..785b90bcc33 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCatchClause.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetCatchClause.java @@ -26,7 +26,7 @@ import java.util.List; /** * @author max */ -public class JetCatchClause extends JetElement { +public class JetCatchClause extends JetElementImpl { public JetCatchClause(@NotNull ASTNode node) { super(node); } @@ -57,6 +57,6 @@ public class JetCatchClause extends JetElement { @Nullable @IfNotParsed public JetExpression getCatchBody() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClass.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClass.java index 764e0451346..1084227ab8c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClass.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClass.java @@ -46,10 +46,10 @@ public class JetClass extends JetTypeParameterListOwner public JetClass(@NotNull ASTNode node) { super(node); } - // TODO (stubs) - // public JetClass(final PsiJetClassStub stub) { - // this.stub = stub; - // } + + //public JetClass(@NotNull final PsiJetClassStub stub) { + // this.stub = stub; + //} @Override public List getDeclarations() { @@ -237,4 +237,9 @@ public class JetClass extends JetTypeParameterListOwner } } } + + //@Override + //public ItemPresentation getPresentation() { + // return ItemPresentationProviders.getItemPresentation(this); + //} } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassBody.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassBody.java index 11da1bacd73..1da2255bf6a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassBody.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassBody.java @@ -30,7 +30,7 @@ import java.util.List; /** * @author max */ -public class JetClassBody extends JetElement implements JetDeclarationContainer { +public class JetClassBody extends JetElementImpl implements JetDeclarationContainer { public JetClassBody(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassInitializer.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassInitializer.java index a16abd0bd4a..fdefca96372 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassInitializer.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassInitializer.java @@ -39,7 +39,7 @@ public class JetClassInitializer extends JetDeclaration implements JetStatementE @NotNull public JetExpression getBody() { - JetExpression body = findChildByClass(JetExpression.class); + JetExpression body = findChildByClass(JetExpressionImpl.class); assert body != null; return body; } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstantExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstantExpression.java index db2d01f5033..4409762ac6a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstantExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstantExpression.java @@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull; /** * @author max */ -public class JetConstantExpression extends JetExpression { +public class JetConstantExpression extends JetExpressionImpl { public JetConstantExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstructorCalleeExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstructorCalleeExpression.java index 8a387a4d2f6..d1285628d55 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstructorCalleeExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstructorCalleeExpression.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable; /** * @author abreslav */ -public class JetConstructorCalleeExpression extends JetExpression { +public class JetConstructorCalleeExpression extends JetExpressionImpl { public JetConstructorCalleeExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetContainerNode.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetContainerNode.java index fbe100bb60a..10c80299926 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetContainerNode.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetContainerNode.java @@ -24,7 +24,7 @@ import org.jetbrains.annotations.NotNull; /** * @author max */ -public class JetContainerNode extends JetElement { +public class JetContainerNode extends JetElementImpl { public JetContainerNode(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDeclaration.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDeclaration.java index def08d80eba..7caa013a3f4 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDeclaration.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDeclaration.java @@ -25,7 +25,7 @@ import org.jetbrains.jet.lexer.JetToken; /** * @author max */ -public abstract class JetDeclaration extends JetExpression implements JetModifierListOwner { +public abstract class JetDeclaration extends JetExpressionImpl implements JetModifierListOwner { public JetDeclaration(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDecomposerPattern.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDecomposerPattern.java index 2be142dc39e..1c3f51259d9 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDecomposerPattern.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDecomposerPattern.java @@ -31,7 +31,7 @@ public class JetDecomposerPattern extends JetPattern { @Nullable @IfNotParsed public JetExpression getDecomposerExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Nullable diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegationSpecifier.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegationSpecifier.java index 8790d3554e8..e760a80298c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegationSpecifier.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegationSpecifier.java @@ -24,7 +24,7 @@ import org.jetbrains.jet.JetNodeTypes; /** * @author max */ -public class JetDelegationSpecifier extends JetElement{ +public class JetDelegationSpecifier extends JetElementImpl { public JetDelegationSpecifier(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegationSpecifierList.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegationSpecifierList.java index 03d78adeaf1..3b30aab4f41 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegationSpecifierList.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegationSpecifierList.java @@ -25,7 +25,7 @@ import java.util.List; /** * @author max */ -public class JetDelegationSpecifierList extends JetElement { +public class JetDelegationSpecifierList extends JetElementImpl { public JetDelegationSpecifierList(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegatorByExpressionSpecifier.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegatorByExpressionSpecifier.java index 6f5a77cf75e..f6af909c4a7 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegatorByExpressionSpecifier.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegatorByExpressionSpecifier.java @@ -40,6 +40,6 @@ public class JetDelegatorByExpressionSpecifier extends JetDelegationSpecifier { @Nullable @IfNotParsed public JetExpression getDelegateExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElement.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElement.java index ec0d500a60a..02d88c7bbe1 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElement.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElement.java @@ -1,85 +1,15 @@ -/* - * Copyright 2010-2012 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - package org.jetbrains.jet.lang.psi; -import com.intellij.extapi.psi.ASTWrapperPsiElement; -import com.intellij.lang.ASTNode; -import com.intellij.lang.Language; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.NavigatablePsiElement; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.plugin.JetLanguage; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; /** - * @author max + * @author Nikolay Krasko */ -public class JetElement extends ASTWrapperPsiElement { - public JetElement(@NotNull ASTNode node) { - super(node); - } +public interface JetElement extends NavigatablePsiElement { + void acceptChildren(@NotNull JetTreeVisitor visitor, D data); - /** - * Comes along with @Nullable to indicate null is only possible if parsing error present - */ - @Retention(RetentionPolicy.RUNTIME) - @Target({ElementType.METHOD}) - public @interface IfNotParsed {} + void accept(@NotNull JetVisitorVoid visitor); - @NotNull - @Override - public Language getLanguage() { - return JetLanguage.INSTANCE; - } - - @Override - public String toString() { - return getNode().getElementType().toString(); - } - - @Override - public final void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof JetVisitorVoid) { - accept((JetVisitorVoid) visitor); - } - else { - visitor.visitElement(this); - } - } - - public void acceptChildren(@NotNull JetTreeVisitor visitor, D data) { - PsiElement child = getFirstChild(); - while (child != null) { - if (child instanceof JetElement) { - ((JetElement) child).accept(visitor, data); - } - child = child.getNextSibling(); - } - } - - public void accept(@NotNull JetVisitorVoid visitor) { - visitor.visitJetElement(this); - } - - public R accept(@NotNull JetVisitor visitor, D data) { - return visitor.visitJetElement(this, data); - } + R accept(@NotNull JetVisitor visitor, D data); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImpl.java new file mode 100644 index 00000000000..69505a2e3f8 --- /dev/null +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetElementImpl.java @@ -0,0 +1,88 @@ +/* + * Copyright 2010-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.jet.lang.psi; + +import com.intellij.extapi.psi.ASTWrapperPsiElement; +import com.intellij.lang.ASTNode; +import com.intellij.lang.Language; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiElementVisitor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.plugin.JetLanguage; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author max + */ +public class JetElementImpl extends ASTWrapperPsiElement implements JetElement { + public JetElementImpl(@NotNull ASTNode node) { + super(node); + } + + /** + * Comes along with @Nullable to indicate null is only possible if parsing error present + */ + @Retention(RetentionPolicy.RUNTIME) + @Target({ElementType.METHOD}) + public @interface IfNotParsed {} + + @NotNull + @Override + public Language getLanguage() { + return JetLanguage.INSTANCE; + } + + @Override + public String toString() { + return getNode().getElementType().toString(); + } + + @Override + public final void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof JetVisitorVoid) { + accept((JetVisitorVoid) visitor); + } + else { + visitor.visitElement(this); + } + } + + @Override + public void acceptChildren(@NotNull JetTreeVisitor visitor, D data) { + PsiElement child = getFirstChild(); + while (child != null) { + if (child instanceof JetElementImpl) { + ((JetElement) child).accept(visitor, data); + } + child = child.getNextSibling(); + } + } + + @Override + public void accept(@NotNull JetVisitorVoid visitor) { + visitor.visitJetElement(this); + } + + @Override + public R accept(@NotNull JetVisitor visitor, D data) { + return visitor.visitJetElement(this, data); + } +} diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpression.java index 8164b866a86..55631f652b5 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpression.java @@ -16,32 +16,16 @@ package org.jetbrains.jet.lang.psi; -import com.intellij.lang.ASTNode; +import com.intellij.psi.NavigatablePsiElement; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.JetNodeType; /** - * @author max + * @author Nikolay Krasko */ -public abstract class JetExpression extends JetElement { - public JetExpression(@NotNull ASTNode node) { - super(node); - } +public interface JetExpression extends NavigatablePsiElement, JetElement { + @Override + void accept(@NotNull JetVisitorVoid visitor); @Override - public void accept(@NotNull JetVisitorVoid visitor) { - visitor.visitExpression(this); - } - - @Override - public R accept(@NotNull JetVisitor visitor, D data) { - return visitor.visitExpression(this, data); - } - - protected JetExpression findExpressionUnder(JetNodeType type) { - JetContainerNode containerNode = (JetContainerNode) findChildByType(type); - if (containerNode == null) return null; - - return containerNode.findChildByClass(JetExpression.class); - } + R accept(@NotNull JetVisitor visitor, D data); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionImpl.java new file mode 100644 index 00000000000..c75c66e44db --- /dev/null +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionImpl.java @@ -0,0 +1,47 @@ +/* + * Copyright 2010-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.jet.lang.psi; + +import com.intellij.lang.ASTNode; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.JetNodeType; + +/** + * @author max + */ +abstract class JetExpressionImpl extends JetElementImpl implements JetExpression { + public JetExpressionImpl(@NotNull ASTNode node) { + super(node); + } + + @Override + public void accept(@NotNull JetVisitorVoid visitor) { + visitor.visitExpression(this); + } + + @Override + public R accept(@NotNull JetVisitor visitor, D data) { + return visitor.visitExpression(this, data); + } + + protected JetExpression findExpressionUnder(JetNodeType type) { + JetContainerNode containerNode = (JetContainerNode) findChildByType(type); + if (containerNode == null) return null; + + return containerNode.findChildByClass(JetExpressionImpl.class); + } +} diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionPattern.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionPattern.java index 9b9be36d2de..13ec4bd7bf9 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionPattern.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetExpressionPattern.java @@ -30,7 +30,7 @@ public class JetExpressionPattern extends JetPattern { @Nullable @IfNotParsed public JetExpression getExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Override diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFinallySection.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFinallySection.java index b4b7d950dd8..8463fc97ed2 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFinallySection.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFinallySection.java @@ -23,7 +23,7 @@ import org.jetbrains.jet.JetNodeTypes; /** * @author max */ -public class JetFinallySection extends JetElement { +public class JetFinallySection extends JetElementImpl { public JetFinallySection(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunction.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunction.java index 08ea1d4c067..e10c256c82c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunction.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunction.java @@ -52,7 +52,7 @@ abstract public class JetFunction extends JetTypeParameterListOwner @Override @Nullable public JetExpression getBodyExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Override diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunctionLiteralExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunctionLiteralExpression.java index b354b51b58b..4d056400974 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunctionLiteralExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunctionLiteralExpression.java @@ -25,7 +25,7 @@ import java.util.List; /** * @author max */ -public class JetFunctionLiteralExpression extends JetExpression implements JetDeclarationWithBody { +public class JetFunctionLiteralExpression extends JetExpressionImpl implements JetDeclarationWithBody { public JetFunctionLiteralExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIdeTemplateExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIdeTemplateExpression.java index 43f31e693e3..1cb40d90b2e 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIdeTemplateExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIdeTemplateExpression.java @@ -26,7 +26,7 @@ import org.jetbrains.jet.lexer.JetTokens; * @author Evgeny Gerashchenko * @since 2/8/12 */ -public class JetIdeTemplateExpression extends JetExpression { +public class JetIdeTemplateExpression extends JetExpressionImpl { public JetIdeTemplateExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIfExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIfExpression.java index 1f88befc2c2..5eec47a8446 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIfExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIfExpression.java @@ -24,7 +24,7 @@ import org.jetbrains.jet.JetNodeTypes; /** * @author max */ -public class JetIfExpression extends JetExpression { +public class JetIfExpression extends JetExpressionImpl { public JetIfExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetImportDirective.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetImportDirective.java index 89a01ad014c..1a6fd82255e 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetImportDirective.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetImportDirective.java @@ -25,7 +25,7 @@ import org.jetbrains.jet.lexer.JetTokens; /** * @author max */ -public class JetImportDirective extends JetElement { +public class JetImportDirective extends JetElementImpl { public JetImportDirective(@NotNull ASTNode node) { super(node); } @@ -46,7 +46,7 @@ public class JetImportDirective extends JetElement { @Nullable @IfNotParsed public JetExpression getImportedReference() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Nullable diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetInitializerList.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetInitializerList.java index 9eafe3f698e..efcfde7b880 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetInitializerList.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetInitializerList.java @@ -25,7 +25,7 @@ import java.util.List; /** * @author max */ -public class JetInitializerList extends JetElement { +public class JetInitializerList extends JetElementImpl { public JetInitializerList(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIsExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIsExpression.java index 2a513d57a39..5caff578219 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIsExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetIsExpression.java @@ -25,7 +25,7 @@ import org.jetbrains.jet.lexer.JetTokens; /** * @author abreslav */ -public class JetIsExpression extends JetExpression { +public class JetIsExpression extends JetExpressionImpl { public JetIsExpression(@NotNull ASTNode node) { super(node); } @@ -42,7 +42,7 @@ public class JetIsExpression extends JetExpression { @NotNull public JetExpression getLeftHandSide() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Nullable @IfNotParsed diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetLabelQualifiedExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetLabelQualifiedExpression.java index b2f36c3ad28..0cc4ff9bfde 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetLabelQualifiedExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetLabelQualifiedExpression.java @@ -20,12 +20,11 @@ import com.intellij.lang.ASTNode; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.JetNodeTypes; -import org.jetbrains.jet.lang.resolve.name.Name; /** * @author abreslav */ -public class JetLabelQualifiedExpression extends JetExpression { +public class JetLabelQualifiedExpression extends JetExpressionImpl { public JetLabelQualifiedExpression(@NotNull ASTNode node) { super(node); @@ -40,7 +39,7 @@ public class JetLabelQualifiedExpression extends JetExpression { @Nullable @IfNotParsed public JetExpression getLabeledExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Nullable diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetLoopExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetLoopExpression.java index 5c06b45d965..aef301d549c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetLoopExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetLoopExpression.java @@ -24,7 +24,7 @@ import org.jetbrains.jet.JetNodeTypes; /** * @author abreslav */ -public abstract class JetLoopExpression extends JetExpression implements JetStatementExpression { +public abstract class JetLoopExpression extends JetExpressionImpl implements JetStatementExpression { public JetLoopExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetModifierList.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetModifierList.java index ea0a61ea029..c501e8ee9be 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetModifierList.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetModifierList.java @@ -30,7 +30,7 @@ import java.util.List; /** * @author max */ -public class JetModifierList extends JetElement { +public class JetModifierList extends JetElementImpl { public JetModifierList(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetNamespaceBody.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetNamespaceBody.java index bbe19cf4d8b..4190f88e52c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetNamespaceBody.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetNamespaceBody.java @@ -25,7 +25,7 @@ import java.util.List; /** * @author max */ -public class JetNamespaceBody extends JetElement implements JetDeclarationContainer { +public class JetNamespaceBody extends JetElementImpl implements JetDeclarationContainer { public JetNamespaceBody(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetObjectLiteralExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetObjectLiteralExpression.java index 91fe95d6b08..07e235939af 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetObjectLiteralExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetObjectLiteralExpression.java @@ -23,7 +23,7 @@ import org.jetbrains.jet.JetNodeTypes; /** * @author max */ -public class JetObjectLiteralExpression extends JetExpression { +public class JetObjectLiteralExpression extends JetExpressionImpl { public JetObjectLiteralExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameter.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameter.java index 802bfc09c9c..b9f3d8fb16b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameter.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameter.java @@ -51,7 +51,7 @@ public class JetParameter extends JetNamedDeclaration { ASTNode child = getNode().getFirstChildNode(); while (child != null) { if (child.getElementType() == JetTokens.EQ) passedEQ = true; - if (passedEQ && child.getPsi() instanceof JetExpression) { + if (passedEQ && child.getPsi() instanceof JetExpressionImpl) { return (JetExpression) child.getPsi(); } child = child.getTreeNext(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameterList.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameterList.java index 21dae8e7ce1..4a83ccbb846 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameterList.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParameterList.java @@ -25,7 +25,7 @@ import java.util.List; /** * @author max */ -public class JetParameterList extends JetElement { +public class JetParameterList extends JetElementImpl { public JetParameterList(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParenthesizedExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParenthesizedExpression.java index ef722b51930..9538aef06d8 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParenthesizedExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetParenthesizedExpression.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable; /** * @author max */ -public class JetParenthesizedExpression extends JetExpression { +public class JetParenthesizedExpression extends JetExpressionImpl { public JetParenthesizedExpression(@NotNull ASTNode node) { super(node); } @@ -40,6 +40,6 @@ public class JetParenthesizedExpression extends JetExpression { @Nullable @IfNotParsed public JetExpression getExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPattern.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPattern.java index 575cd27fb01..8625d490467 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPattern.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPattern.java @@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull; /** * @author abreslav */ -public class JetPattern extends JetElement { +public class JetPattern extends JetElementImpl { public JetPattern(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPostfixExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPostfixExpression.java index 9659a1a028d..aa4ca2a1359 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPostfixExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPostfixExpression.java @@ -29,7 +29,7 @@ public class JetPostfixExpression extends JetUnaryExpression { @NotNull public JetExpression getBaseExpression() { - JetExpression answer = findChildByClass(JetExpression.class); + JetExpression answer = findChildByClass(JetExpressionImpl.class); assert answer != null; return answer; } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPrefixExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPrefixExpression.java index 6f9c9ab687e..0364a40ab13 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPrefixExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPrefixExpression.java @@ -42,7 +42,7 @@ public class JetPrefixExpression extends JetUnaryExpression { @Nullable @IfNotParsed public JetExpression getBaseExpression() { PsiElement expression = getOperationReference().getNextSibling(); - while (expression != null && !(expression instanceof JetExpression)) { + while (expression != null && !(expression instanceof JetExpressionImpl)) { expression = expression.getNextSibling(); } return (JetExpression) expression; diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetProperty.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetProperty.java index eddba6ad3fe..28b1aa3c6ae 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetProperty.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetProperty.java @@ -130,7 +130,7 @@ public class JetProperty extends JetTypeParameterListOwner implements JetModifie @Nullable public JetExpression getInitializer() { PsiElement eq = findChildByType(EQ); - return PsiTreeUtil.getNextSiblingOfType(eq, JetExpression.class); + return PsiTreeUtil.getNextSiblingOfType(eq, JetExpressionImpl.class); } @NotNull diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPropertyAccessor.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPropertyAccessor.java index 43401bfd4bd..f867190c51c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPropertyAccessor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPropertyAccessor.java @@ -74,7 +74,7 @@ public class JetPropertyAccessor extends JetDeclaration implements JetDeclaratio @Nullable @Override public JetExpression getBodyExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Override diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java index eb00fbb7780..cf249e15c53 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPsiUtil.java @@ -191,7 +191,7 @@ public class JetPsiUtil { return firstPart.child(functionName); } - @Nullable @JetElement.IfNotParsed + @Nullable @JetElementImpl.IfNotParsed public static ImportPath getImportPath(JetImportDirective importDirective) { final JetExpression importedReference = importDirective.getImportedReference(); if (importedReference == null) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetQualifiedExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetQualifiedExpression.java index 6038cb2d9dd..1f417384b19 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetQualifiedExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetQualifiedExpression.java @@ -26,14 +26,14 @@ import org.jetbrains.jet.lexer.JetTokens; /** * @author max */ -public abstract class JetQualifiedExpression extends JetExpression { +public abstract class JetQualifiedExpression extends JetExpressionImpl { public JetQualifiedExpression(@NotNull ASTNode node) { super(node); } @NotNull public JetExpression getReceiverExpression() { - JetExpression left = findChildByClass(JetExpression.class); + JetExpression left = findChildByClass(JetExpressionImpl.class); assert left != null; return left; } @@ -43,7 +43,7 @@ public abstract class JetQualifiedExpression extends JetExpression { ASTNode node = getOperationTokenNode(); while (node != null) { PsiElement psi = node.getPsi(); - if (psi instanceof JetExpression) { + if (psi instanceof JetExpressionImpl) { return (JetExpression) psi; } node = node.getTreeNext(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReferenceExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReferenceExpression.java index 3661695574f..7c9b74feb59 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReferenceExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReferenceExpression.java @@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull; /** * @author abreslav */ -public abstract class JetReferenceExpression extends JetExpression { +public abstract class JetReferenceExpression extends JetExpressionImpl { public JetReferenceExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReturnExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReturnExpression.java index dd01febefd5..82562f5b65b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReturnExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReturnExpression.java @@ -40,6 +40,6 @@ public class JetReturnExpression extends JetLabelQualifiedExpression implements @Nullable public JetExpression getReturnedExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetRootNamespaceExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetRootNamespaceExpression.java index 580cceef404..1facb7b7181 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetRootNamespaceExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetRootNamespaceExpression.java @@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull; /** * @author max */ -public class JetRootNamespaceExpression extends JetExpression { +public class JetRootNamespaceExpression extends JetExpressionImpl { public JetRootNamespaceExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetSecondaryConstructor.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetSecondaryConstructor.java index 9782df444d3..7874086fba0 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetSecondaryConstructor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetSecondaryConstructor.java @@ -68,7 +68,7 @@ public class JetSecondaryConstructor extends JetDeclaration implements JetDeclar @Override public JetExpression getBodyExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Override diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStatementExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStatementExpression.java index 6efefd8cc4c..b3792bc7af8 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStatementExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStatementExpression.java @@ -22,10 +22,10 @@ package org.jetbrains.jet.lang.psi; */ /** - * This is an interface to show that {@link JetExpression} is not + * This is an interface to show that {@link JetExpressionImpl} is not * actually an expression (in meaning that this expression can be placed after "val x = "). * This is possibly redundant interface, all inheritors of this interface should be refactored that they are not - * {@link JetExpression}, after such refactoring, this interface can be removed. + * {@link JetExpressionImpl}, after such refactoring, this interface can be removed. */ public interface JetStatementExpression { } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStringTemplateEntry.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStringTemplateEntry.java index 25839944258..f948dacfc8b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStringTemplateEntry.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStringTemplateEntry.java @@ -23,14 +23,14 @@ import org.jetbrains.annotations.Nullable; /** * @author abreslav */ -public abstract class JetStringTemplateEntry extends JetElement { +public abstract class JetStringTemplateEntry extends JetElementImpl { public JetStringTemplateEntry(@NotNull ASTNode node) { super(node); } @Nullable public JetExpression getExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStringTemplateExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStringTemplateExpression.java index 6bd57dfcbb3..9481fd6ebf1 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStringTemplateExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetStringTemplateExpression.java @@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull; /** * @author abreslav */ -public class JetStringTemplateExpression extends JetExpression { +public class JetStringTemplateExpression extends JetExpressionImpl { public JetStringTemplateExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThrowExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThrowExpression.java index 45c9a335f5a..4e8f721e9b7 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThrowExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThrowExpression.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable; /** * @author max */ -public class JetThrowExpression extends JetExpression { +public class JetThrowExpression extends JetExpressionImpl { public JetThrowExpression(@NotNull ASTNode node) { super(node); } @@ -40,6 +40,6 @@ public class JetThrowExpression extends JetExpression { @Nullable @IfNotParsed public JetExpression getThrownExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTryExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTryExpression.java index 5ec1bede8f2..f1ffadc731d 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTryExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTryExpression.java @@ -26,7 +26,7 @@ import java.util.List; /** * @author max */ -public class JetTryExpression extends JetExpression { +public class JetTryExpression extends JetExpressionImpl { public JetTryExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTupleExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTupleExpression.java index 72fb28c8798..c6212f6d536 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTupleExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTupleExpression.java @@ -25,7 +25,7 @@ import java.util.List; /** * @author max */ -public class JetTupleExpression extends JetExpression { +public class JetTupleExpression extends JetExpressionImpl { public JetTupleExpression(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTuplePatternEntry.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTuplePatternEntry.java index 8f9fccc71c4..0d8a2f3c4f2 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTuplePatternEntry.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTuplePatternEntry.java @@ -24,7 +24,7 @@ import org.jetbrains.jet.lexer.JetTokens; /** * @author abreslav */ -public class JetTuplePatternEntry extends JetElement { +public class JetTuplePatternEntry extends JetElementImpl { public JetTuplePatternEntry(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeArgumentList.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeArgumentList.java index 1b3592a3167..d4dd7ab1a3a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeArgumentList.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeArgumentList.java @@ -25,7 +25,7 @@ import java.util.List; /** * @author max */ -public class JetTypeArgumentList extends JetElement { +public class JetTypeArgumentList extends JetElementImpl { public JetTypeArgumentList(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeConstraint.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeConstraint.java index bace3ce2c19..4d2b8d77d87 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeConstraint.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeConstraint.java @@ -26,7 +26,7 @@ import org.jetbrains.jet.lexer.JetTokens; /** * @author max */ -public class JetTypeConstraint extends JetElement { +public class JetTypeConstraint extends JetElementImpl { public JetTypeConstraint(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeConstraintList.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeConstraintList.java index 787c40b8402..1edc5b66b0a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeConstraintList.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeConstraintList.java @@ -25,7 +25,7 @@ import java.util.List; /** * @author max */ -public class JetTypeConstraintList extends JetElement { +public class JetTypeConstraintList extends JetElementImpl { public JetTypeConstraintList(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeElement.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeElement.java index a713ec6e9f6..f5d72c587a3 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeElement.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeElement.java @@ -24,7 +24,7 @@ import java.util.List; /** * @author max */ -public abstract class JetTypeElement extends JetElement { +public abstract class JetTypeElement extends JetElementImpl { public JetTypeElement(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeParameterList.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeParameterList.java index 0fc68df0e49..cc5e76869fc 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeParameterList.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeParameterList.java @@ -25,7 +25,7 @@ import java.util.List; /** * @author max */ -public class JetTypeParameterList extends JetElement { +public class JetTypeParameterList extends JetElementImpl { public JetTypeParameterList(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeProjection.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeProjection.java index f059f90197b..7b9fa22efb8 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeProjection.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeProjection.java @@ -27,7 +27,7 @@ import org.jetbrains.jet.lexer.JetTokens; /** * @author abreslav */ -public class JetTypeProjection extends JetElement implements JetModifierListOwner { +public class JetTypeProjection extends JetElementImpl implements JetModifierListOwner { public JetTypeProjection(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeReference.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeReference.java index 6becaf8b59a..d58e8e79155 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeReference.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetTypeReference.java @@ -31,7 +31,7 @@ import java.util.List; * * @author max */ -public class JetTypeReference extends JetElement { +public class JetTypeReference extends JetElementImpl { public JetTypeReference(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetUnaryExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetUnaryExpression.java index abd5803fcb7..f3515fdcc82 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetUnaryExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetUnaryExpression.java @@ -24,7 +24,7 @@ import org.jetbrains.jet.JetNodeTypes; /** * @author abreslav */ -public abstract class JetUnaryExpression extends JetExpression implements JetOperationExpression { +public abstract class JetUnaryExpression extends JetExpressionImpl implements JetOperationExpression { public JetUnaryExpression(ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgument.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgument.java index 9e8d47b025f..4628d137d20 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgument.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgument.java @@ -27,7 +27,7 @@ import org.jetbrains.jet.lexer.JetTokens; /** * @author max */ -public class JetValueArgument extends JetElement implements ValueArgument { +public class JetValueArgument extends JetElementImpl implements ValueArgument { public JetValueArgument(@NotNull ASTNode node) { super(node); } @@ -44,7 +44,7 @@ public class JetValueArgument extends JetElement implements ValueArgument { @Override @Nullable @IfNotParsed public JetExpression getArgumentExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Override diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgumentList.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgumentList.java index 2d40a6524a9..92752d55b56 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgumentList.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgumentList.java @@ -25,7 +25,7 @@ import java.util.List; /** * @author max */ -public class JetValueArgumentList extends JetElement { +public class JetValueArgumentList extends JetElementImpl { public JetValueArgumentList(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgumentName.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgumentName.java index c273e3ac2aa..3283e259538 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgumentName.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetValueArgumentName.java @@ -24,7 +24,7 @@ import org.jetbrains.jet.JetNodeTypes; /** * @author abreslav */ -public class JetValueArgumentName extends JetElement { +public class JetValueArgumentName extends JetElementImpl { public JetValueArgumentName(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenCondition.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenCondition.java index d41582300d7..45215fc2801 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenCondition.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenCondition.java @@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull; /** * @author abreslav */ -public abstract class JetWhenCondition extends JetElement { +public abstract class JetWhenCondition extends JetElementImpl { public JetWhenCondition(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenConditionInRange.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenConditionInRange.java index c6250e8ccd5..ff907db37b3 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenConditionInRange.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenConditionInRange.java @@ -41,7 +41,7 @@ public class JetWhenConditionInRange extends JetWhenCondition { ASTNode node = getOperationReference().getNode().getTreeNext(); while (node != null) { PsiElement psi = node.getPsi(); - if (psi instanceof JetExpression) { + if (psi instanceof JetExpressionImpl) { return (JetExpression) psi; } node = node.getTreeNext(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenEntry.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenEntry.java index b8072119b61..2f2729fbda0 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenEntry.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenEntry.java @@ -25,7 +25,7 @@ import org.jetbrains.jet.lexer.JetTokens; /** * @author abreslav */ -public class JetWhenEntry extends JetElement { +public class JetWhenEntry extends JetElementImpl { public JetWhenEntry(@NotNull ASTNode node) { super(node); } @@ -41,7 +41,7 @@ public class JetWhenEntry extends JetElement { @Nullable public JetExpression getExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Override diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenExpression.java index ad598a38424..b3b8ba04664 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetWhenExpression.java @@ -28,7 +28,7 @@ import java.util.List; /** * @author abreslav */ -public class JetWhenExpression extends JetExpression { +public class JetWhenExpression extends JetExpressionImpl { public JetWhenExpression(@NotNull ASTNode node) { super(node); } @@ -40,7 +40,7 @@ public class JetWhenExpression extends JetExpression { @Nullable public JetExpression getSubjectExpression() { - return findChildByClass(JetExpression.class); + return findChildByClass(JetExpressionImpl.class); } @Override diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/ValueArgument.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/ValueArgument.java index 58cd0b53bea..d06e81d7422 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/ValueArgument.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/ValueArgument.java @@ -26,7 +26,7 @@ import org.jetbrains.annotations.Nullable; */ public interface ValueArgument { @Nullable - @JetElement.IfNotParsed + @JetElementImpl.IfNotParsed JetExpression getArgumentExpression(); @Nullable diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetClassElementType.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetClassElementType.java index 826842122ab..0bf8e87b0ae 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetClassElementType.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/stubs/elements/JetClassElementType.java @@ -51,8 +51,8 @@ public class JetClassElementType extends JetStubElementType select(PsiElement e, CharSequence editorText, int cursorOffset, Editor editor) { List result = new ArrayList(); diff --git a/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolwindow.java b/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolwindow.java index 0c456ff0f7b..a440827fdd5 100644 --- a/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolwindow.java +++ b/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolwindow.java @@ -155,8 +155,9 @@ public class ResolveToolwindow extends JPanel implements Disposable { if (!callFound) { - JetExpression parentExpression = (elementAtOffset instanceof JetExpression) ? (JetExpression) elementAtOffset - : PsiTreeUtil.getParentOfType(elementAtOffset, JetExpression.class); + JetExpression parentExpression = (elementAtOffset instanceof JetExpression) ? + (JetExpression) elementAtOffset : + PsiTreeUtil.getParentOfType(elementAtOffset, JetExpression.class); if (parentExpression != null) { JetType type = bindingContext.get(EXPRESSION_TYPE, parentExpression); String text = parentExpression + "|" + parentExpression.getText() + "| : " + type; @@ -173,7 +174,7 @@ public class ResolveToolwindow extends JPanel implements Disposable { } @Nullable - private PsiElement findData(BindingContext bindingContext, PsiElement currentElement, ReadOnlySlice slice) { + private static PsiElement findData(BindingContext bindingContext, PsiElement currentElement, ReadOnlySlice slice) { while (currentElement != null && !(currentElement instanceof PsiFile)) { if (currentElement instanceof JetElement) { JetElement atOffset = (JetElement) currentElement; @@ -188,7 +189,9 @@ public class ResolveToolwindow extends JPanel implements Disposable { return null; } - private String renderDebugInfo(PsiElement currentElement, @Nullable ResolutionDebugInfo.Data debugInfo, @Nullable ResolvedCall call) { + private static String renderDebugInfo(PsiElement currentElement, + @Nullable ResolutionDebugInfo.Data debugInfo, + @Nullable ResolvedCall call) { StringBuilder result = new StringBuilder(); if (debugInfo != null) { @@ -208,11 +211,13 @@ public class ResolveToolwindow extends JPanel implements Disposable { else { result.append("Resolved call is null\n"); } - result.append(currentElement + ": " + currentElement.getText()); + result.append(currentElement).append(": ").append(currentElement.getText()); return result.toString(); } - private void renderResolutionLogForCall(Data debugInfo, ResolvedCallWithTrace resolvedCall, StringBuilder result) { + private static void renderResolutionLogForCall(Data debugInfo, + ResolvedCallWithTrace resolvedCall, + StringBuilder result) { result.append("Trying to call ").append(resolvedCall.getCandidateDescriptor()).append("\n"); StringBuilder errors = debugInfo.getByKey(ERRORS, resolvedCall); if (errors != null) { @@ -232,7 +237,7 @@ public class ResolveToolwindow extends JPanel implements Disposable { result.append(BAR); } - private void renderMap(Map map, StringBuilder builder) { + private static void renderMap(Map map, StringBuilder builder) { if (map == null) return; for (Map.Entry entry : map.entrySet()) { @@ -248,7 +253,7 @@ public class ResolveToolwindow extends JPanel implements Disposable { } } - private String renderCall(StringBuilder builder, ResolvedCall resolvedCall) { + private static String renderCall(StringBuilder builder, ResolvedCall resolvedCall) { CallableDescriptor resultingDescriptor = resolvedCall.getResultingDescriptor(); ReceiverDescriptor receiverArgument = resolvedCall.getReceiverArgument(); @@ -283,7 +288,7 @@ public class ResolveToolwindow extends JPanel implements Disposable { return builder.toString(); } - private void renderValueArguments(Map valueArguments, StringBuilder builder) { + private static void renderValueArguments(Map valueArguments, StringBuilder builder) { ResolvedValueArgument[] args = new ResolvedValueArgument[valueArguments.size()]; for (Map.Entry entry : valueArguments.entrySet()) { ValueParameterDescriptor key = entry.getKey(); @@ -302,7 +307,7 @@ public class ResolveToolwindow extends JPanel implements Disposable { builder.append(")"); } - private void renderTypeArguments(Map typeArguments, StringBuilder builder) { + private static void renderTypeArguments(Map typeArguments, StringBuilder builder) { JetType[] args = new JetType[typeArguments.size()]; for (Map.Entry entry : typeArguments.entrySet()) { TypeParameterDescriptor key = entry.getKey(); @@ -320,7 +325,7 @@ public class ResolveToolwindow extends JPanel implements Disposable { builder.append(">"); } - private void renderReceiver(ReceiverDescriptor receiverArgument, ReceiverDescriptor thisObject, StringBuilder builder) { + private static void renderReceiver(ReceiverDescriptor receiverArgument, ReceiverDescriptor thisObject, StringBuilder builder) { if (receiverArgument.exists()) { builder.append("/").append(receiverArgument); } diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java index 747cb3fb2f3..93370305876 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java @@ -16,6 +16,7 @@ package org.jetbrains.jet.plugin.quickfix; +import com.intellij.extapi.psi.ASTDelegatePsiElement; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; @@ -25,7 +26,6 @@ import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.diagnostics.Diagnostic; -import org.jetbrains.jet.lang.psi.JetElement; import org.jetbrains.jet.lang.psi.JetExpression; import org.jetbrains.jet.lang.psi.JetFunction; import org.jetbrains.jet.lexer.JetTokens; @@ -79,7 +79,7 @@ public class RemoveFunctionBodyFix extends JetIntentionAction { element.replace(function); } - private static boolean removePossiblyEquationSign(@NotNull JetElement element, @Nullable PsiElement possiblyEq) { + private static boolean removePossiblyEquationSign(@NotNull ASTDelegatePsiElement element, @Nullable PsiElement possiblyEq) { if (possiblyEq instanceof LeafPsiElement && ((LeafPsiElement)possiblyEq).getElementType() == JetTokens.EQ) { QuickFixUtil.removePossiblyWhiteSpace(element, possiblyEq.getNextSibling()); element.deleteChildInternal(possiblyEq.getNode()); diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java index ffa997550f1..270bb86601d 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java @@ -16,6 +16,7 @@ package org.jetbrains.jet.plugin.quickfix; +import com.intellij.extapi.psi.ASTDelegatePsiElement; import com.intellij.lang.ASTNode; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; @@ -26,7 +27,6 @@ import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.diagnostics.Diagnostic; -import org.jetbrains.jet.lang.psi.JetElement; import org.jetbrains.jet.lang.psi.JetModifierList; import org.jetbrains.jet.lang.psi.JetModifierListOwner; import org.jetbrains.jet.lexer.JetKeywordToken; @@ -70,9 +70,9 @@ public class RemoveModifierFix extends JetIntentionAction removeModifierFromList(modifierList, modifier); if (modifierList.getFirstChild() == null) { PsiElement whiteSpace = modifierList.getNextSibling(); - assert element instanceof JetElement; - ((JetElement) element).deleteChildInternal(modifierList.getNode()); - QuickFixUtil.removePossiblyWhiteSpace((JetElement) element, whiteSpace); + assert element instanceof ASTDelegatePsiElement; + ((ASTDelegatePsiElement) element).deleteChildInternal(modifierList.getNode()); + QuickFixUtil.removePossiblyWhiteSpace((ASTDelegatePsiElement) element, whiteSpace); } return element; }