/*namespace-or-type-member-declaration: | namespace-declaration optional-namespace-or-type-member-declaration | type-declaration-list optional-namespace-or-type-member-declaration */ private void namespace_or_type_member_declaration(ref CompilationUnitNode compilation, ref NamespaceNode currentNamespace) { printIfDebug("namespace_or_type_member_declaration"); if (pass(TokenType.RW_NAMESPACE)) { var namespaceDeclared = namespace_declaration(ref compilation); if (currentNamespace.Identifier.Name != "default") { // namespaceDeclared.setParentNamePrefix(currentNamespace.Identifier); namespaceDeclared.setParentNamespace(ref currentNamespace); // namespaceDeclared.addFatherUsings(currentNamespace.usingDirectives); } // else{ // namespaceDeclared.addFatherUsings(compilation.usingDirectives); // } compilation.addNamespace(namespaceDeclared); optional_namespace_or_type_member_declaration(ref compilation, ref currentNamespace); } else { var listTypeDeclared = type_declaration_list(); currentNamespace.addTypeList(listTypeDeclared); optional_namespace_or_type_member_declaration(ref compilation, ref currentNamespace); } }