@Override public void visitNamespaceStatement(NamespaceStatementTree tree) { super.visitNamespaceStatement(tree); if (tree.openCurlyBrace() != null) { TokenVisitor tokenVisitor = new TokenVisitor(tree); checkOpenCurlyBrace( tree.openCurlyBrace(), tree.closeCurlyBrace(), tokenVisitor.prevToken(tree.openCurlyBrace()), tokenVisitor.nextToken(tree.openCurlyBrace())); } }
@Override public void visitNamespaceStatement(NamespaceStatementTree tree) { super.visitNamespaceStatement(tree); if (tree.openCurlyBrace() != null) { TokenVisitor tokenVisitor = new TokenVisitor(tree); checkOpenCurlyBrace( tree.openCurlyBrace(), tree.closeCurlyBrace(), tokenVisitor.prevToken(tree.openCurlyBrace()), tokenVisitor.nextToken(tree.openCurlyBrace())); } }
@Override public void visitNamespaceStatement(NamespaceStatementTree tree) { super.visitNamespaceStatement(tree); if (tree.openCurlyBrace() != null) { checkOpenCurlyBrace( tree.openCurlyBrace(), tree.closeCurlyBrace(), new TokenVisitor(tree).prevToken(tree.openCurlyBrace())); } }
@Override public void visitNamespaceStatement(NamespaceStatementTree tree) { super.visitNamespaceStatement(tree); if (tree.openCurlyBrace() != null) { checkOpenCurlyBrace( tree.openCurlyBrace(), tree.closeCurlyBrace(), new TokenVisitor(tree).prevToken(tree.openCurlyBrace())); } }
@Override public void visitNamespaceStatement(NamespaceStatementTree tree) { if (tree.namespaceName() != null) { inGlobalNamespace = false; } super.visitNamespaceStatement(tree); // Delimited namespace with curly braces if (tree.openCurlyBrace() != null) { inGlobalNamespace = true; } }
@Override public void visitNamespaceStatement(NamespaceStatementTree tree) { if (tree.namespaceName() != null) { inGlobalNamespace = false; } super.visitNamespaceStatement(tree); // Delimited namespace with curly braces if (tree.openCurlyBrace() != null) { inGlobalNamespace = true; } }
@Override public void visitNamespaceStatement(NamespaceStatementTree tree) { NamespaceNameTree namespaceNameTree = tree.namespaceName(); currentNamespace = namespaceNameTree != null ? QualifiedName.create(namespaceNameTree) : QualifiedName.GLOBAL_NAMESPACE; super.visitNamespaceStatement(tree); boolean isBracketedNamespace = tree.openCurlyBrace() != null; if (isBracketedNamespace) { currentNamespace = QualifiedName.GLOBAL_NAMESPACE; } }
@Override public void visitNamespaceStatement(NamespaceStatementTree tree) { aliases.clear(); currentNamespace = tree.namespaceName() != null ? QualifiedName.create(tree.namespaceName()) : null; super.visitNamespaceStatement(tree); boolean isBracketedNamespace = tree.openCurlyBrace() != null; if (isBracketedNamespace) { resetNamespace(); } }
@Override public void visitNamespaceStatement(NamespaceStatementTree tree) { aliases.clear(); currentNamespace = tree.namespaceName() != null ? QualifiedName.create(tree.namespaceName()) : null; super.visitNamespaceStatement(tree); boolean isBracketedNamespace = tree.openCurlyBrace() != null; if (isBracketedNamespace) { resetNamespace(); } }
@Override public void visitNamespaceStatement(NamespaceStatementTree tree) { enterScope(tree); NamespaceNameTree namespaceNameTree = tree.namespaceName(); currentNamespace = namespaceNameTree != null ? QualifiedName.create(namespaceNameTree) : QualifiedName.GLOBAL_NAMESPACE; super.visitNamespaceStatement(tree); boolean isBracketedNamespace = tree.openCurlyBrace() != null; if (isBracketedNamespace) { leaveScope(); currentNamespace = QualifiedName.GLOBAL_NAMESPACE; } }
@Test public void block_syntax() throws Exception { NamespaceStatementTree tree = parse("namespace { $a; }", PHPLexicalGrammar.NAMESPACE_STATEMENT); assertThat(tree.is(Kind.NAMESPACE_STATEMENT)).isTrue(); assertThat(tree.namespaceName()).isNull(); assertThat(tree.statements()).hasSize(1); assertThat(tree.openCurlyBrace()).isNotNull(); assertThat(tree.closeCurlyBrace()).isNotNull(); }
@Test public void standard_syntax() throws Exception { NamespaceStatementTree tree = parse("namespace NS;", PHPLexicalGrammar.NAMESPACE_STATEMENT); assertThat(tree.is(Kind.NAMESPACE_STATEMENT)).isTrue(); assertThat(tree.namespaceToken().text()).isEqualTo("namespace"); assertThat(expressionToString(tree.namespaceName())).isEqualTo("NS"); assertThat(tree.eosToken().text()).isEqualTo(";"); assertThat(tree.statements()).isEmpty(); assertThat(tree.openCurlyBrace()).isNull(); assertThat(tree.closeCurlyBrace()).isNull(); } @Test