History log of /frameworks/data-binding/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.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/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.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/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java
8d89ffbe003c2b51522e56ae64b48d5398c9837b 27-Jun-2015 George Mount <mount@google.com> Fix precedence of chained ternary operation.

Bug 22108739

Change-Id: I443da537f51e503edbeb269db7432757d58887a9
/frameworks/data-binding/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java
0cb9fbb96197af013f4f879ed6cddf2681b88fd6 16-Jun-2015 Yigit Boyar <yboyar@google.com> Move shared code between build and compiler to a separate project

This CL encapsulates the shared code between build time and annotation
processing into a separate project. This project has no dependency on
kotlin so we can easily use it in gradle plugin.

Bug: 21815393
Change-Id: I9fd2e88885d06ff5423121747817ffcd056e8c74
/frameworks/data-binding/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java