78dc9ae6d67ae94bf3f637eeea0848e4f700b7a3 |
|
21-Apr-2016 |
George Mount <mount@google.com> |
Fix problem where root View's style is used instead of bound View's Bug 27808662 Change-Id: I870b0db47e3ed970a3bd67e602e873e503610028
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
|
15b6682cf3505b117329e2190967c92a89b179e9 |
|
08-Apr-2016 |
Yigit Boyar <yboyar@google.com> |
Move to org.antlr from tunnelvision We were using a version of antlr that is published by tunnelvision which works fine but this becomes a problem when another gradle plugin wants to depend on antlr as well. It is best if we depend on the original one to avoid conflicts with other libs. Bug: 27175207 Change-Id: I0a87f9902361ace5dc6d03d838e2ad431c844de8
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
|
c0c1dab0b6254e4d27f18c37a72a9e7952e958a0 |
|
02-Mar-2016 |
George Mount <mount@google.com> |
Support for java 8 method reference syntax. Bug 26937350 Our event handling syntax is obj.method, where java 8 uses the syntax obj::method. This adds support for the java 8 syntax and adds a deprecation warning for the old syntax. Change-Id: Ideb0570c2646f674da031f642ed3369e8c5fcd3b
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
|
b522c7650bf7d9ec566845bc9eb37e761eea853d |
|
23-Feb-2016 |
George Mount <mount@google.com> |
GroupExpr is unnecessary. The grouping happens at parsing time, so grouping as part of the expression model is unnecessary. It can be inferred. Change-Id: I10c617516741b9ff8115144d51fcadcd2f8b87d6
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
|
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/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
|
4ba16229a40e9758db86d4fb1df5119fdcb8aa2a |
|
22-Dec-2015 |
Deepanshu Gupta <deepanshu@google.com> |
Change from commons-lang3 to guava Change-Id: I1a18e06af7bf2d65228f1491663b6e096a9538ed
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
|
c1560e6b00b398867da12fbdc5a1fcd1d50b801c |
|
25-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Carry over location information from parser to annotation processor This CL changes LayoutParser to use Antlr which provides us the location information. This information is now serialized inside the bundle so that we can read it in the annotation processor, enabling better error logs with location information. Bug:21953001 Change-Id: If9b5cf2f87598a609ddf77235decc17098a46a6b
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
|
2611838bffef5a009ca71e3e9e59a93f29b098ed |
|
24-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Remove guava from compiler This CL removes all dependency from guava and replaces it w/ either plain java or some utilities. Bug: 22047836 Change-Id: I94be54ed992ab6b5f27c47a8cf400ae60aef02f8
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
|
c6bcb7bf9cab139b3141c4644e5b3267deed5213 |
|
20-Apr-2015 |
George Mount <mount@google.com> |
Added some missing expressions. unary: +/-/~/! shift: >>/>>>/<< logical: &&/|| bit: &/|/^ instanceof Change-Id: I310535e67c8fda2f067a62079e1b609a11bda741
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
|
74f72d77b1db2b78ee6422da2ec94de12edcb6dc |
|
27-Mar-2015 |
Yigit Boyar <yboyar@google.com> |
Fix bugs related to how we handle Ternary ops This CL fixes two bugs. 1) When a Ternary operation was inside another operation, we were not handling dependecies properly and model would think that the container expression can be evaluated before Ternary is evaluated, eventually causing an exception in code-gen because Ternay is not calculated yet. 2) This also fixes another bug where when ?? is used, we would put ifTrue and ifFalse statements in wrong order and eventually evaluate !??. Bug: 19939148 Change-Id: I3e1d2bee172e47412bb8ef9e7c785aef47337155
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
|
fead9ca09b117136b35bc5bf137340a754f9eddd |
|
23-Mar-2015 |
George Mount <mount@google.com> |
Move to package android.databinding.
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
|