AIDL previously supported "rpc" and "flatten" types, which are not used
anywhere in the Android tree. This patch removes them, which significantly cuts
down code and complexity.
Bug: 23517584
Test: Rebuilt AOSP tree against new version
Change-Id: I6cf38d43c1ce109ffca987cc14520945aa22431f
Signed-off-by: Casey Dahlin <sadmac@google.com>
Compile aidl's logic into a static library that can be
linked against both the unittest binary and the executable. Validate
that this is working by writing a basic unittest against options
parsing.
Provide default values for Options struct members. These were
previously taking on values according to the the bits in the memory
allocated to hold them for preprocessed inputs.
Bug: 23516947
Change-Id: Ib57cd7f473995f7851d788deac39f9c4d9018e8f
Test: compiles and unittests pass
Turn all warnings to errors, with special cases for places where
yacc forces us to be lenient. Remove one variable with 0 references
elsewhere in the code.
These flags are confined to be clang only because the Windows SDK build
is using an older compiler that does not understand these flags.
Change-Id: I6407bd331c25b8845bde46e9a917bce1d6857bd8
This reverts commit eea2353a3427f7d157c46e24ab6aba1378e16c2e.
This seems to have broken the build because whatever compiler the builder is using doesn't understand the same "turn off this warning" flags as my local host's compiler.
Change-Id: Ic68b7065b161a5ae683b7082c67147835833e0fa
This separates the main() entry point from the functionality we're
hoping to test. While here, redo the header guards to be consistent
accross the codebae.
Bug: 23516947
Change-Id: I61666126bdba0941f14bd0f031caaa30367b864a
Test: Compiles
Turn all warnings to errors, with special cases for places where
yacc forces us to be lenient. Remove one variable with 0 references
elsewhere in the code.
Change-Id: Ia7819795eb162e9c77d215088aee4c45bd87c1af
It is good practice to not include the whole std:: namespace into
the global namespace. This is doubly true in headers.
TEST=aidl compiles
Change-Id: I910ca8082f61cce4f23f8564b8a12c2828b75b3c
This fixes make error when the source .aidl file is moved around but
its path relative to LOCAL_PATH doesn't change.
Bug: 22666539
Change-Id: Idf2492145e4927779d184932a09d61e4fe8ded0f
Bug: 14416410
The new mingw-w64 toolchain x86_64-w64-mingw32-4.8 no longer
declares _mkdir in io.h.
Change-Id: I624b52d2f35db54a7f28df09f997fc883b0f0557
This patch fixes tools/aidl/Type.cpp to compile with
a more recent SDK host toolchain sysroot (that has not
been submitted yet).
The main issue is that the code uses ssize_t which is
defined in <sys/types.h>, but didn't include the header
directly.
Apparently, this no longer compiles when using the Ubuntu
10.04 libc6-dev headers (the current SDK toolchain is
based on Ubuntu 8.04), so perform an explicit include
to fix this.
NOTE: This doesn't break the Windows SDK build.
Change-Id: Idcacf8f8d1c606b39bf8aa75ab409aa0c2a3cd5a
Previously if an imported aidl file has been deleted or moved,
the generated dependency file still contains the stale file name,
and make will fail with "No rule to make target <the deleted/moved
file>".
This change uses technique described in section "Automatic Dependency
Generation", Chapter 8 of "Managing Projects with GNU Make (3d
Edition)".
The same technique is used by the Android platform build system to
generate C/C++ header dependencies.
Bug: 10459179
Change-Id: Ib0c01a4234ef1af994487fdc846cdf8d13a675f6
Fix issue when aidl generation doesn't use the right type when
it is a suffix of a pre-declared type.
eg. android.location.Location and foo.android.location.Location. The
aidl generation will never use foo.android.location.Location.
The tentative fix reverses the order in which Namespace.Search iterates
through the known types.
A better fix would be to annotate the types that are declared in the
aidl import statements to be prioritary in Namespace.Search. Lmk if I
you agree with this approach and think that this is worth the work.
Thanks!
Change-Id: I97dd1a1d417075accf1d61f9aba5aba3dea175c6
Many media files and source code files were marked as executable in Git.
Remove those.
Also a shell script and python script were not marked as executable.
Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
This adds an annotation to methods in AIDL of the form
"void myMethod() = 3;" to explicitly set the onTransact
id for the method. Either all methods must have explicitly
annotated id's or none of them should be explicitly annotated.
There is error checking in the AIDL compiler
for duplicate id's and id's outside of the valid range.
Bug: 7353910
Change-Id: I868045e3f112c9a279c573cea368a621116cbf77
If caller passes a null result handler to the proxy methods, we need
to check it when getting the result. Otherwise we try to invoke a method
on a null object
Change-Id: Ic2f456c36cb542b782b6a6d0d4d607ccf0987496
We introduced changes to the Endpoint lifecycle.
Modified the AIDL compiler to take into account the
changes. Just affected the constructor, which needs
now an extra parameter: placeInfo