[anjuta] language-support-cpp-java: support for Gtk:: expressions.
- From: Massimo Cora' <mcora src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [anjuta] language-support-cpp-java: support for Gtk:: expressions.
- Date: Mon, 11 Jan 2010 23:42:14 +0000 (UTC)
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]