private void checkBlankLineAfterUses(UseStatementTree useStatement) { if (check.hasUseBlankLine && !isFollowedWithBlankLine(useStatement)) { reportIssue(BLANK_LINE_USE_MESSAGE, Iterables.getLast(useStatements).useToken()); } }
@Test public void group_use_statement() throws Exception { UseStatementTree tree = parse("use ns1\\ns2\\{name1 as a1, function name2};", Kind.GROUP_USE_STATEMENT); assertThat(tree.is(Kind.GROUP_USE_STATEMENT)).isTrue(); assertThat(tree.prefix()).isNotNull(); assertThat(expressionToString(tree.prefix())).isEqualTo("ns1\\ns2"); assertThat(tree.nsSeparatorToken()).isNotNull(); assertThat(tree.openCurlyBraceToken()).isNotNull(); assertThat(tree.closeCurlyBraceToken()).isNotNull(); assertThat(tree.clauses()).hasSize(2); }
@Test public void multiple_declarations() throws Exception { UseStatementTree tree = parse("use \\ns1\\ns2\\name, \\ns1\\ns2\\name2;", PHPLexicalGrammar.USE_STATEMENT); assertThat(tree.is(Kind.USE_STATEMENT)).isTrue(); assertThat(tree.useTypeToken()).isNull(); assertThat(tree.clauses()).hasSize(2); }
@Override public void visitUseStatement(UseStatementTree tree) { QualifiedName namespacePrefix = getPrefix(tree); tree.clauses().forEach(useClauseTree -> { String alias = getAliasName(useClauseTree); QualifiedName originalName = getOriginalFullyQualifiedName(namespacePrefix, useClauseTree); aliases.put(alias.toLowerCase(Locale.ROOT), originalName); }); }
@Test public void const_token() throws Exception { UseStatementTree tree = parse("use const \\ns1\\ns2\\name;", PHPLexicalGrammar.USE_STATEMENT); assertThat(tree.is(Kind.USE_STATEMENT)).isTrue(); assertThat(tree.useTypeToken().text()).isEqualTo("const"); }
@Test public void single_declaration() throws Exception { UseStatementTree tree = parse("use \\ns1\\ns2\\name;", PHPLexicalGrammar.USE_STATEMENT); assertThat(tree.is(Kind.USE_STATEMENT)).isTrue(); assertThat(tree.useTypeToken()).isNull(); assertThat(tree.prefix()).isNull(); assertThat(tree.nsSeparatorToken()).isNull(); assertThat(tree.openCurlyBraceToken()).isNull(); assertThat(tree.closeCurlyBraceToken()).isNull(); assertThat(tree.clauses()).hasSize(1); }
@Override public void visitUseStatement(UseStatementTree tree) { super.visitUseStatement(tree); QualifiedName namespacePrefix = getPrefix(tree); tree.clauses().forEach(useClauseTree -> { String alias = getAliasName(useClauseTree); QualifiedName originalName = getOriginalFullyQualifiedName(namespacePrefix, useClauseTree); aliases.put(alias.toLowerCase(Locale.ROOT), originalName); }); }
@Test public void function_token() throws Exception { UseStatementTree tree = parse("use function \\ns1\\ns2\\name;", PHPLexicalGrammar.USE_STATEMENT); assertThat(tree.is(Kind.USE_STATEMENT)).isTrue(); assertThat(tree.useTypeToken().text()).isEqualTo("function"); }
@Override public void visitUseStatement(UseStatementTree tree) { super.visitUseStatement(tree); QualifiedName namespacePrefix = getPrefix(tree); tree.clauses().forEach(useClauseTree -> { String alias = getAliasName(useClauseTree); QualifiedName originalName = getOriginalFullyQualifiedName(namespacePrefix, useClauseTree); aliases.put(alias.toLowerCase(Locale.ROOT), originalName); }); }
private void checkBlankLineAfterUses(UseStatementTree useStatement) { if (check.hasUseBlankLine && !isFollowedWithBlankLine(useStatement)) { reportIssue(BLANK_LINE_USE_MESSAGE, Iterables.getLast(useStatements).useToken()); } }
@Nullable private static QualifiedName getPrefix(UseStatementTree useStatementTree) { NamespaceNameTree prefix = useStatementTree.prefix(); return prefix == null ? null : QualifiedName.create(prefix); }
private void checkUsesAreBeforeNamespace() { if (check.isUseAfterNamespace && nextStatement.is(Kind.NAMESPACE_STATEMENT)) { reportIssue(USE_AFTER_NAMESPACE_MESSAGE, useStatements.get(0).useToken()); } }
private void checkUsesAreBeforeNamespace() { if (check.isUseAfterNamespace && nextStatement.is(Kind.NAMESPACE_STATEMENT)) { reportIssue(USE_AFTER_NAMESPACE_MESSAGE, useStatements.get(0).useToken()); } }