From 754270601a268cfe0ab679768aa33423feb1f974 Mon Sep 17 00:00:00 2001 From: Adrian Taylor Date: Fri, 13 Feb 2009 09:52:17 +0000 Subject: Removing "import" statements from AIDL-generated .java files. AIDL generates unnecessary "import" statements. These cause warnings within Eclipse when the default Eclipse warnings settings are used. This is inconvenient since the generated .java files are not editable. Some pesky organisations have a zero-warnings policy too, so there's no option but to fiddle with the Eclipse settings. This patch ensures that all usages of class names within the generated code are fully-qualified. In practice, they were nearly all fully-qualified already. And this patch also removes the generation of the import statements, since they are redundant if we're using fully-qualified names everywhere. This should fix issue 43 in the Google Code Android issues tracker. http://code.google.com/p/android/issues/detail?id=43 I would appreciate if somebody who knows exactly how 'aidl' works could confirm that there's no reason 'import' statements would have been necessary except for the bits I've fixed. (I think unqualified names were used much more frequently in early versions of aidl, which might explain why import statements are generated so eagerly). --- tools/aidl/generate_java.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tools/aidl/generate_java.cpp') diff --git a/tools/aidl/generate_java.cpp b/tools/aidl/generate_java.cpp index 25d47a2273db..da20d1f7ef87 100644 --- a/tools/aidl/generate_java.cpp +++ b/tools/aidl/generate_java.cpp @@ -134,7 +134,7 @@ StubClass::make_as_interface(Type *interfaceType) Method* m = new Method; m->comment = "/**\n * Cast an IBinder object into an "; - m->comment += interfaceType->Name(); + m->comment += interfaceType->QualifiedName(); m->comment += " interface,\n"; m->comment += " * generating a proxy if needed.\n */"; m->modifiers = PUBLIC | STATIC; @@ -324,7 +324,7 @@ generate_method(const method_type* method, Class* interface, transactCodeName += method->name.data; char transactCodeValue[50]; - sprintf(transactCodeValue, "(IBinder.FIRST_CALL_TRANSACTION + %d)", index); + sprintf(transactCodeValue, "(android.os.IBinder.FIRST_CALL_TRANSACTION + %d)", index); Field* transactCode = new Field(STATIC | FINAL, new Variable(INT_TYPE, transactCodeName)); @@ -518,7 +518,7 @@ generate_method(const method_type* method, Class* interface, new LiteralExpression("Stub." + transactCodeName), _data, _reply ? _reply : NULL_VALUE, new LiteralExpression( - oneway ? "IBinder.FLAG_ONEWAY" : "0")); + oneway ? "android.os.IBinder.FLAG_ONEWAY" : "0")); tryStatement->statements->Add(call); // throw back exceptions. -- cgit v1.2.3