From 029e0dc9a981861f99570980b6e6f6cd4ba4fd91 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Mon, 7 Nov 2011 16:29:01 +0400 Subject: [PATCH] added test for full path constructor invocation --- .../ast/{CallChain.java => CallChainExpression.java} | 4 ++-- .../jetbrains/jet/j2k/visitors/ExpressionVisitor.java | 2 +- .../file/libraryFieldCall.jav | 0 .../file/libraryFieldCall.kt | 0 .../file/libraryMethodCall.jav | 0 .../file/libraryMethodCall.kt | 0 .../file/libraryMethodCallFromInstance.jav | 0 .../file/libraryMethodCallFromInstance.kt | 0 .../file/libraryStringFieldCall.jav | 0 .../file/libraryStringFieldCall.kt | 0 .../statement/sout.jav | 0 .../statement/sout.kt | 0 .../ast/newClassExpression/file/newClassByFullName.jav | 10 ++++++++++ .../ast/newClassExpression/file/newClassByFullName.kt | 9 +++++++++ 14 files changed, 22 insertions(+), 3 deletions(-) rename src/org/jetbrains/jet/j2k/ast/{CallChain.java => CallChainExpression.java} (82%) rename testData/ast/{callChain => callChainExpression}/file/libraryFieldCall.jav (100%) rename testData/ast/{callChain => callChainExpression}/file/libraryFieldCall.kt (100%) rename testData/ast/{callChain => callChainExpression}/file/libraryMethodCall.jav (100%) rename testData/ast/{callChain => callChainExpression}/file/libraryMethodCall.kt (100%) rename testData/ast/{callChain => callChainExpression}/file/libraryMethodCallFromInstance.jav (100%) rename testData/ast/{callChain => callChainExpression}/file/libraryMethodCallFromInstance.kt (100%) rename testData/ast/{callChain => callChainExpression}/file/libraryStringFieldCall.jav (100%) rename testData/ast/{callChain => callChainExpression}/file/libraryStringFieldCall.kt (100%) rename testData/ast/{callChain => callChainExpression}/statement/sout.jav (100%) rename testData/ast/{callChain => callChainExpression}/statement/sout.kt (100%) create mode 100644 testData/ast/newClassExpression/file/newClassByFullName.jav create mode 100644 testData/ast/newClassExpression/file/newClassByFullName.kt diff --git a/src/org/jetbrains/jet/j2k/ast/CallChain.java b/src/org/jetbrains/jet/j2k/ast/CallChainExpression.java similarity index 82% rename from src/org/jetbrains/jet/j2k/ast/CallChain.java rename to src/org/jetbrains/jet/j2k/ast/CallChainExpression.java index e53d6f85bb6..ae57d9a119a 100644 --- a/src/org/jetbrains/jet/j2k/ast/CallChain.java +++ b/src/org/jetbrains/jet/j2k/ast/CallChainExpression.java @@ -5,11 +5,11 @@ import org.jetbrains.annotations.NotNull; /** * @author ignatov */ -public class CallChain extends Expression { +public class CallChainExpression extends Expression { private Expression myExpression; private IdentifierImpl myIdentifier; - public CallChain(Expression expression, IdentifierImpl identifier) { + public CallChainExpression(Expression expression, IdentifierImpl identifier) { myExpression = expression; myIdentifier = identifier; } diff --git a/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java b/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java index 9af9ed3a73f..cb40da43b4f 100644 --- a/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java +++ b/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java @@ -227,7 +227,7 @@ public class ExpressionVisitor extends StatementVisitor implements Visitor { public void visitReferenceExpression(PsiReferenceExpression expression) { super.visitReferenceExpression(expression); boolean isNullable = typeToType(expression.getType()).isNullable(); - myResult = new CallChain( + myResult = new CallChainExpression( expressionToExpression(expression.getQualifierExpression()), new IdentifierImpl(expression.getReferenceName(), isNullable) // TODO: if type exists so id is nullable ); diff --git a/testData/ast/callChain/file/libraryFieldCall.jav b/testData/ast/callChainExpression/file/libraryFieldCall.jav similarity index 100% rename from testData/ast/callChain/file/libraryFieldCall.jav rename to testData/ast/callChainExpression/file/libraryFieldCall.jav diff --git a/testData/ast/callChain/file/libraryFieldCall.kt b/testData/ast/callChainExpression/file/libraryFieldCall.kt similarity index 100% rename from testData/ast/callChain/file/libraryFieldCall.kt rename to testData/ast/callChainExpression/file/libraryFieldCall.kt diff --git a/testData/ast/callChain/file/libraryMethodCall.jav b/testData/ast/callChainExpression/file/libraryMethodCall.jav similarity index 100% rename from testData/ast/callChain/file/libraryMethodCall.jav rename to testData/ast/callChainExpression/file/libraryMethodCall.jav diff --git a/testData/ast/callChain/file/libraryMethodCall.kt b/testData/ast/callChainExpression/file/libraryMethodCall.kt similarity index 100% rename from testData/ast/callChain/file/libraryMethodCall.kt rename to testData/ast/callChainExpression/file/libraryMethodCall.kt diff --git a/testData/ast/callChain/file/libraryMethodCallFromInstance.jav b/testData/ast/callChainExpression/file/libraryMethodCallFromInstance.jav similarity index 100% rename from testData/ast/callChain/file/libraryMethodCallFromInstance.jav rename to testData/ast/callChainExpression/file/libraryMethodCallFromInstance.jav diff --git a/testData/ast/callChain/file/libraryMethodCallFromInstance.kt b/testData/ast/callChainExpression/file/libraryMethodCallFromInstance.kt similarity index 100% rename from testData/ast/callChain/file/libraryMethodCallFromInstance.kt rename to testData/ast/callChainExpression/file/libraryMethodCallFromInstance.kt diff --git a/testData/ast/callChain/file/libraryStringFieldCall.jav b/testData/ast/callChainExpression/file/libraryStringFieldCall.jav similarity index 100% rename from testData/ast/callChain/file/libraryStringFieldCall.jav rename to testData/ast/callChainExpression/file/libraryStringFieldCall.jav diff --git a/testData/ast/callChain/file/libraryStringFieldCall.kt b/testData/ast/callChainExpression/file/libraryStringFieldCall.kt similarity index 100% rename from testData/ast/callChain/file/libraryStringFieldCall.kt rename to testData/ast/callChainExpression/file/libraryStringFieldCall.kt diff --git a/testData/ast/callChain/statement/sout.jav b/testData/ast/callChainExpression/statement/sout.jav similarity index 100% rename from testData/ast/callChain/statement/sout.jav rename to testData/ast/callChainExpression/statement/sout.jav diff --git a/testData/ast/callChain/statement/sout.kt b/testData/ast/callChainExpression/statement/sout.kt similarity index 100% rename from testData/ast/callChain/statement/sout.kt rename to testData/ast/callChainExpression/statement/sout.kt diff --git a/testData/ast/newClassExpression/file/newClassByFullName.jav b/testData/ast/newClassExpression/file/newClassByFullName.jav new file mode 100644 index 00000000000..486db1bec93 --- /dev/null +++ b/testData/ast/newClassExpression/file/newClassByFullName.jav @@ -0,0 +1,10 @@ +package org.test + +class Library {} +} + +class User { + void main() { + Library lib = new Library(); + } +} \ No newline at end of file diff --git a/testData/ast/newClassExpression/file/newClassByFullName.kt b/testData/ast/newClassExpression/file/newClassByFullName.kt new file mode 100644 index 00000000000..9ce9a5525b4 --- /dev/null +++ b/testData/ast/newClassExpression/file/newClassByFullName.kt @@ -0,0 +1,9 @@ +namespace org.test { +open class Library { +} +open class User { +fun main() : Unit { +var lib : Library? = org.test.Library() +} +} +} \ No newline at end of file