JetDecomposerPattern.getArgumentList() may return null
This commit is contained in:
@@ -124,7 +124,10 @@ public class JetControlFlowProcessor {
|
||||
@Override
|
||||
public void visitDecomposerPattern(JetDecomposerPattern pattern) {
|
||||
value(pattern.getDecomposerExpression(), inCondition);
|
||||
pattern.getArgumentList().accept(this);
|
||||
JetTuplePattern argumentList = pattern.getArgumentList();
|
||||
if (argumentList != null) {
|
||||
argumentList.accept(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,6 +18,7 @@ public class JetDecomposerPattern extends JetPattern {
|
||||
return findChildByClass(JetExpression.class);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public JetTuplePattern getArgumentList() {
|
||||
return (JetTuplePattern) findChildByType(JetNodeTypes.DECOMPOSER_ARGUMENT_LIST);
|
||||
}
|
||||
|
||||
+3
-1
@@ -204,9 +204,11 @@ public class PatternMatchingTypingVisitor extends ExpressionTypingVisitor {
|
||||
ReceiverDescriptor receiver = new TransientReceiver(subjectType);
|
||||
JetType selectorReturnType = facade.getSelectorReturnType(receiver, null, decomposerExpression, context);
|
||||
|
||||
result.set(checkPatternType(pattern.getArgumentList(), selectorReturnType == null
|
||||
if (pattern.getArgumentList() != null) {
|
||||
result.set(checkPatternType(pattern.getArgumentList(), selectorReturnType == null
|
||||
? ErrorUtils.createErrorType("No type")
|
||||
: selectorReturnType, false, scopeToExtend, context));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user