CheckUtils { public static String getFunctionName(FunctionTree functionDec) { if (functionDec.is(Kind.FUNCTION_DECLARATION)) { return "\"" + ((FunctionDeclarationTree) functionDec).name().text() + "\""; } else if (functionDec.is(Kind.METHOD_DECLARATION)) { return "\"" + ((MethodDeclarationTree) functionDec).name().text() + "\""; } return "expression"; } private  CheckUtils(); static boolean isFunction(Tree tree); static String getFunctionName(FunctionTree functionDec); @Nullable static String getFunctionName(FunctionCallTree functionCall); @Nullable static String getLowerCaseFunctionName(FunctionCallTree functionCall); @Nullable static String functionName(FunctionCallTree functionCall); @Nullable static String lowerCaseFunctionName(FunctionCallTree functionCall); static Set<String> lowerCaseSet(String... names); static String getClassName(ClassDeclarationTree classDeclaration); static String getLowerCaseClassName(ClassDeclarationTree classDeclarationTree); @Nullable static String nameOf(Tree tree); static boolean isOverriding(MethodDeclarationTree declaration); static boolean isExitExpression(FunctionCallTree functionCallTree); static boolean hasModifier(ClassMemberTree tree, String toFind); static boolean hasModifier(List<SyntaxToken> modifiers, String toFind); static boolean isClosingTag(SyntaxToken token); static boolean isClosingTag(Tree tree); static Stream<String> lines(PhpFile file); static ExpressionTree skipParenthesis(ExpressionTree expr); @Nullable static ExpressionTree getForCondition(ForStatementTree tree); static String trimQuotes(String value); static String trimQuotes(LiteralTree literalTree); static boolean isFalseValue(ExpressionTree tree); static boolean isTrueValue(ExpressionTree tree); static boolean isStringLiteralWithValue(@Nullable Tree tree, String s); static boolean isNullOrEmptyString(ExpressionTree tree); static boolean hasAnnotation(Tree declaration, String annotation); static boolean isPublic(ClassMemberTree tree); static boolean isAbstract(ClassDeclarationTree tree); static final ImmutableList<Kind> FUNCTION_KINDS; static final ImmutableMap<String, String> SUPERGLOBALS_BY_OLD_NAME; static final ImmutableSet<String> SUPERGLOBALS; }
@Test public void no_function_name() throws Exception { ExpressionTree root = expressionFromStatement("$name(2);"); assertThat(root.is(Tree.Kind.FUNCTION_CALL)).isTrue(); FunctionCallTree call = (FunctionCallTree) root; assertThat(CheckUtils.getFunctionName(call)).isNull(); }