History log of /frameworks/data-binding/compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6047998943beebd81e0ae1068df39c0cbee38628 02-Feb-2016 Yigit Boyar <yboyar@google.com> Lambda In da house

This CL adds support for assigning callbacks to listeners using lambda expressions.
These expressions can receive either 0 or N arguments where N is equal to the
number of parameters in the callback function.

These expressions are evaluated when the callback is invoked. In other words, they
are independent from the rest of the ExprModel except the Identifier expressions.

Since these are limited to 1 full expression and they don't have any invalidation
flags; we use a verbose branching code generation mode where we calculate all possible
execution paths, eliminate trivial ones and generate the code. This allows callbacks
to be thread safe as well. See ExecutionPath class for details.
It is not efficient but since these are rere occasions, should be OK.

Callback expressions are still forced to be expressions that return value. To handle
`void` case, I've added `void` and `Void` as acceptable symbols. Also, if the callback
method returns void, the expression is free to return `void` or any other value.
¯\\_(ツ)_/¯

I've also moved kotlin to rc0. Although rc0 is unrelated to this task, it made more
sense to upgrade here because most changes it will ask for were already done in
this branch.

Bug: 26849440
Change-Id: I805b3d470f85df9c2ce3f3ed5ca74925a08bb7a5
/frameworks/data-binding/compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java
9784c9aaedeb863018f5fcaa0a598e8e2f8ed2f3 13-Oct-2015 Yigit Boyar <yboyar@google.com> Data binding as studio dep + java6

This CL gets rid of the gradle plugin and instead provides
DataBindingBuilder for the gradle plugin to directly use.

Now, everything that is deployed via SDK Manager (lib and adapters)
are included as prebuilts so that we avoid accidently changing
them w/o an SDK manager release.

There is still work to do:
> re-enable proguard for externel dependencies
> release a batch to ensure everything works

Bug: 22516688
Change-Id: I83ace15bd6d3d23bf5b4ad850f36453dd23ebd43
/frameworks/data-binding/compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java
a649c6ce3f6eb4882221e77a1d27e0d28c4c13a0 15-Jul-2015 George Mount <mount@google.com> Fix compilation tests.

Bug 22489623

Change-Id: Id948b2fcc4496dd5e94b6047dd6e4758cbfa5159
/frameworks/data-binding/compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java
aafbe5a2394ff9826201cca97d3298a9f355e311 01-Jul-2015 Yigit Boyar <yboyar@google.com> Add errors for layout files in different configs

This CL adds ScopedExceptions to multi-config layout parsing.

Bug: 21953001
Change-Id: I5d62b711120e890733e7f5c08108041109e4eefd
/frameworks/data-binding/compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java
731b74f7f44e67312a1fc4161c4e0aae221b2417 25-Jun-2015 Yigit Boyar <yboyar@google.com> Introduce Scopes to track logical stack traces

This CL introduces a static class called Scope, which is
used the logical processing stack for data binding.
These scopes are used to generate meaningful error messages
when an error is detected.

Bug: 21953001
Change-Id: I5470a8c4ad94401d34a140762baae9d53c5a0402
/frameworks/data-binding/compilerCommon/src/main/java/android/databinding/tool/processing/Scope.java