bug fixed: analyze arguments in FREE expression position
This commit is contained in:
+2
-2
@@ -180,8 +180,8 @@ public class ArgumentTypeResolver {
|
||||
if (recordedTypeInfo != null) {
|
||||
return recordedTypeInfo;
|
||||
}
|
||||
ResolutionContext newContext = context.replaceExpectedType(TypeUtils.NO_EXPECTED_TYPE).replaceContextDependency(
|
||||
ContextDependency.DEPENDENT);
|
||||
ResolutionContext newContext = context.replaceExpectedType(TypeUtils.NO_EXPECTED_TYPE)
|
||||
.replaceContextDependency(ContextDependency.DEPENDENT).replaceExpressionPosition(ExpressionPosition.FREE);
|
||||
|
||||
return expressionTypingServices.getTypeInfo(expression, newContext);
|
||||
}
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
class A {
|
||||
class object {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
fun use(vararg a: Any?) = a
|
||||
|
||||
fun test() {
|
||||
use(use(A, null).toString())
|
||||
}
|
||||
|
||||
@@ -4748,7 +4748,7 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/diagnostics/tests/resolve")
|
||||
@InnerTestClasses({Resolve.Invoke.class, Resolve.SpecialConstructions.class})
|
||||
@InnerTestClasses({Resolve.Invoke.class, Resolve.NestedCalls.class, Resolve.SpecialConstructions.class})
|
||||
public static class Resolve extends AbstractDiagnosticsTestWithEagerResolve {
|
||||
public void testAllFilesPresentInResolve() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/diagnostics/tests/resolve"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
@@ -4817,6 +4817,19 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage
|
||||
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/diagnostics/tests/resolve/nestedCalls")
|
||||
public static class NestedCalls extends AbstractDiagnosticsTestWithEagerResolve {
|
||||
public void testAllFilesPresentInNestedCalls() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/diagnostics/tests/resolve/nestedCalls"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("analyzeArgsInFreeExpressionPosition.kt")
|
||||
public void testAnalyzeArgsInFreeExpressionPosition() throws Exception {
|
||||
doTest("compiler/testData/diagnostics/tests/resolve/nestedCalls/analyzeArgsInFreeExpressionPosition.kt");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/diagnostics/tests/resolve/specialConstructions")
|
||||
public static class SpecialConstructions extends AbstractDiagnosticsTestWithEagerResolve {
|
||||
public void testAllFilesPresentInSpecialConstructions() throws Exception {
|
||||
@@ -4844,6 +4857,7 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage
|
||||
TestSuite suite = new TestSuite("Resolve");
|
||||
suite.addTestSuite(Resolve.class);
|
||||
suite.addTestSuite(Invoke.class);
|
||||
suite.addTestSuite(NestedCalls.class);
|
||||
suite.addTestSuite(SpecialConstructions.class);
|
||||
return suite;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user