From 3cd1af3ba11109443652639c1f1280f650a169c7 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Fri, 7 Mar 2014 14:15:18 +0400 Subject: [PATCH] Forbid nulls in getPackageNames() collection #KT-4666 Fixed --- .../jetbrains/jet/lang/psi/JetPackageDirective.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java index 8ef4442cc79..8d1efecf9a8 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPackageDirective.java @@ -50,10 +50,19 @@ public class JetPackageDirective extends JetReferenceExpression { List packageNames = ContainerUtil.newArrayList(); while (nameExpression instanceof JetQualifiedExpression) { JetQualifiedExpression qualifiedExpression = (JetQualifiedExpression) nameExpression; - packageNames.add((JetSimpleNameExpression) qualifiedExpression.getSelectorExpression()); + + JetExpression selector = qualifiedExpression.getSelectorExpression(); + if (selector instanceof JetSimpleNameExpression) { + packageNames.add((JetSimpleNameExpression) selector); + } + nameExpression = qualifiedExpression.getReceiverExpression(); } - packageNames.add((JetSimpleNameExpression) nameExpression); + + if (nameExpression instanceof JetSimpleNameExpression) { + packageNames.add((JetSimpleNameExpression) nameExpression); + } + Collections.reverse(packageNames); return packageNames;