boolean (PsiElement context) { if (context.getParent() != null && !(context.getParent() instanceof PsiErrorElement) && context.getParent().getParent() instanceof GroovyFile && ((GroovyFile) context.getParent().getParent()).getPackageDefinition() == null) { if (context.getParent() instanceof GrReferenceExpression) { return true; } if (context.getParent() instanceof GrApplicationStatement && ((GrApplicationStatement) context.getParent()).getExpressionArguments()[0] instanceof GrReferenceExpression) { return true; } return false; } if (context.getTextRange().getStartOffset() == 0 && !(context instanceof OuterLanguageElement)) { return true; } final PsiElement leaf = GroovyCompletionUtil.getLeafByOffset(context.getTextRange().getStartOffset() - 1, context); if (leaf != null) { PsiElement parent = leaf.getParent(); if (parent instanceof GroovyFile groovyFile) { if (groovyFile.getPackageDefinition() == null) { return GroovyCompletionUtil.isNewStatement(context, false); } } } return false; }