Fixed assertion error for incomplete code.

This commit is contained in:
Svetlana Isakova
2014-03-13 15:46:43 +04:00
parent 904217d793
commit 604e062f91
3 changed files with 16 additions and 5 deletions
@@ -79,11 +79,13 @@ public class PseudocodeVariableDataCollector(
if (instruction is VariableDeclarationInstruction) {
val variableDeclarationElement = instruction.getVariableDeclarationElement()
val descriptor = bindingContext.get(BindingContext.DECLARATION_TO_DESCRIPTOR, variableDeclarationElement)
assert(descriptor is VariableDescriptor,
"Variable descriptor should correspond to the instruction for ${instruction.getElement().getText()}.\n" +
"Descriptor : $descriptor")
lexicalScopeVariableInfo.registerVariableDeclaredInScope(
descriptor as VariableDescriptor, instruction.getLexicalScope())
if (descriptor != null) {
assert(descriptor is VariableDescriptor,
"Variable descriptor should correspond to the instruction for ${instruction.getElement().getText()}.\n" +
"Descriptor : $descriptor")
lexicalScopeVariableInfo.registerVariableDeclaredInScope(
descriptor as VariableDescriptor, instruction.getLexicalScope())
}
}
})
return lexicalScopeVariableInfo
@@ -0,0 +1,4 @@
fun foo(s: String) {
s.
<!ILLEGAL_SELECTOR!>val b = 42<!>
}
@@ -3416,6 +3416,11 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
doTest("compiler/testData/diagnostics/tests/incompleteCode/typeParameterOnLhsOfDot.kt");
}
@TestMetadata("variableDeclarationInSelector.kt")
public void testVariableDeclarationInSelector() throws Exception {
doTest("compiler/testData/diagnostics/tests/incompleteCode/variableDeclarationInSelector.kt");
}
@TestMetadata("compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError")
public static class DiagnosticWithSyntaxError extends AbstractJetDiagnosticsTest {
public void testAllFilesPresentInDiagnosticWithSyntaxError() throws Exception {