void (@NotNull PsiTemplateExpression expression) { PsiExpression processor = PsiUtil.skipParenthesizedExprDown(expression.getProcessor()); if (processConcatTemplate(expression)) { return; } if (processor != null) { processor.accept(this); } else { pushUnknown(); // incomplete code } PsiTemplate template = expression.getTemplate(); if (template != null) { for (PsiExpression embeddedExpression : template.getEmbeddedExpressions()) { embeddedExpression.accept(this); addInstruction(new PopInstruction()); } } addInstruction(new MethodCallInstruction(expression, null, List.of())); if (myTrapTracker.shouldHandleException()) { addThrows(ExceptionUtil.getOwnUnhandledExceptions(expression)); } addNullCheck(expression); }