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
|