Infrastructure for a language-neutral namespace declaration.
Altered the once-deprecated "namespace" directive in .thrift files
to take two identifiers: the language and the namespace.
They are stored in a map inside of the program object.
Future changes will convert specific generators to use this map
and deprecate the old language-specific tokens.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665512 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/thrifty.yy b/compiler/cpp/src/thrifty.yy
index c104a81..7bd189f 100644
--- a/compiler/cpp/src/thrifty.yy
+++ b/compiler/cpp/src/thrifty.yy
@@ -247,12 +247,11 @@
{
pdebug("Header -> Include");
}
-| tok_namespace tok_identifier
+| tok_namespace tok_identifier tok_identifier
{
- pwarning(1, "'namespace' is deprecated. Use 'cpp_namespace' and/or 'java_package' instead");
+ pdebug("Header -> tok_namespace tok_identifier tok_identifier");
if (g_parse_mode == PROGRAM) {
- g_program->set_cpp_namespace($2);
- g_program->set_java_package($2);
+ g_program->set_namespace($2, $3);
}
}
| tok_cpp_namespace tok_identifier