[anjuta] language-support-cpp-java: support for Gtk:: expressions.



commit 2c22fcac2e688265529c45544a81949d71f08251
Author: Massimo Corà <mcora src gnome org>
Date:   Tue Jan 12 00:40:11 2010 +0100

    language-support-cpp-java: support for Gtk:: expressions.
    
    The completions are not graphically displayed yet.

 .../language-support-cpp-java/cpp-java-assist.c    |   21 ++++++++-----------
 .../cxxparser/engine-parser.cpp                    |    6 +++++
 2 files changed, 15 insertions(+), 12 deletions(-)
---
diff --git a/plugins/language-support-cpp-java/cpp-java-assist.c b/plugins/language-support-cpp-java/cpp-java-assist.c
index ee1bcec..d570f95 100644
--- a/plugins/language-support-cpp-java/cpp-java-assist.c
+++ b/plugins/language-support-cpp-java/cpp-java-assist.c
@@ -827,18 +827,15 @@ cpp_java_parse_expression (CppJavaAssist* assist, IAnjutaIterable* iter, IAnjuta
 		g_object_unref (start);
 		
 		lineno = ianjuta_editor_get_lineno (editor, NULL);
-		if (!ref_start)
-		{
-			DEBUG_PRINT ("calling engine_parser_process_expression stmt: %s ", stmt);
-			res = engine_parser_process_expression (stmt,
-			                                        above_text,
-			                                        filename,
-			                                        lineno);
-		}
-		else
-		{
-			/* TODO: Add search for things like Gtk:: */
-		}
+
+		/* the parser works even for the "Gtk::" like expressions, so it shouldn't be 
+		 * created a specific case to handle this.
+		 */
+		DEBUG_PRINT ("calling engine_parser_process_expression stmt: %s ", stmt);
+		res = engine_parser_process_expression (stmt,
+		                                        above_text,
+		                                        filename,
+		                                        lineno);
 		g_free (filename);
 		g_free (stmt);
 	}
diff --git a/plugins/language-support-cpp-java/cxxparser/engine-parser.cpp b/plugins/language-support-cpp-java/cxxparser/engine-parser.cpp
index dd4a641..cd0cd40 100644
--- a/plugins/language-support-cpp-java/cxxparser/engine-parser.cpp
+++ b/plugins/language-support-cpp-java/cxxparser/engine-parser.cpp
@@ -280,6 +280,12 @@ EngineParser::getTypeNameAndScopeByToken (ExpressionResult &result,
 		
 		return true;
 	}
+	else if (op == "::")
+	{
+		out_type_name = token;
+		out_type_scope = result.m_scope.empty() ? "" : result.m_scope.c_str();
+		return true;
+	}
 	else 
 	{
 		/*



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]