• Home
  • History
  • Annotate
  • only in /frameworks/data-binding/compiler/
History log of /frameworks/data-binding/compiler/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
af146d6a8c0efcf5682d14047c06866a5548f78f 22-Jan-2016 Yigit Boyar <yboyar@google.com> Update data binding to kotlin beta 4

I've also run some cleanup inspections to keep codebase
more up to date.

Bug: 26738574
Change-Id: I02aa43157cad858c0ea60dd41a22150e3cf2cfa1
ompiler.iml
rc/main/java/android/databinding/tool/expr/BracketExpr.java
rc/main/java/android/databinding/tool/expr/VersionProvider.java
rc/main/kotlin/android/databinding/tool/ext/list_ext.kt
rc/main/kotlin/android/databinding/tool/ext/node_ext.kt
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
rc/main/kotlin/android/databinding/tool/writer/KCode.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
39113ca579a3d4e1c24e204f102e6dc9b26125af 20-Jan-2016 Tor Norbye <tnorbye@google.com> Update Kotlin code to be beta 4 compatible

Change-Id: I96ab85fd9ec3d857929055b804fd094a4e3d245c
rc/main/kotlin/android/databinding/tool/writer/KCode.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
99d74030fe5856572bd4b569bc04d2a11258f202 14-Jan-2016 George Mount <mount@google.com> Fixed warning when using a color resource.

Bug 26254496

Change-Id: Ied6b942fada3a99ec331ad59f2f5ee6e6c33a20b
rc/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
rc/main/java/android/databinding/tool/expr/ResourceExpr.java
rc/main/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01 17-Sep-2015 George Mount <mount@google.com> Two-way binding

Bug 1474349
Bug 22460238

This adds two-way data binding for those attributes
on Views that also have event listeners for them.
General use is also supported, but event listeners
are required to notify when those properties change.

Change-Id: Iedc66a604257930265f9d661f69658a0a0c3208b
rc/main/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/InverseBinding.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/MergedBinding.java
rc/main/java/android/databinding/tool/expr/ArgListExpr.java
rc/main/java/android/databinding/tool/expr/BitShiftExpr.java
rc/main/java/android/databinding/tool/expr/BracketExpr.java
rc/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java
rc/main/java/android/databinding/tool/expr/CastExpr.java
rc/main/java/android/databinding/tool/expr/ComparisonExpr.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/java/android/databinding/tool/expr/GroupExpr.java
rc/main/java/android/databinding/tool/expr/IdentifierExpr.java
rc/main/java/android/databinding/tool/expr/InstanceOfExpr.java
rc/main/java/android/databinding/tool/expr/ListenerExpr.java
rc/main/java/android/databinding/tool/expr/MathExpr.java
rc/main/java/android/databinding/tool/expr/MethodCallExpr.java
rc/main/java/android/databinding/tool/expr/ResourceExpr.java
rc/main/java/android/databinding/tool/expr/StaticIdentifierExpr.java
rc/main/java/android/databinding/tool/expr/SymbolExpr.java
rc/main/java/android/databinding/tool/expr/TernaryExpr.java
rc/main/java/android/databinding/tool/expr/TwoWayListenerExpr.java
rc/main/java/android/databinding/tool/expr/UnaryExpr.java
rc/main/java/android/databinding/tool/expr/ViewFieldExpr.java
rc/main/java/android/databinding/tool/reflection/Callable.java
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationMethod.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/kotlin/android/databinding/tool/writer/KCode.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/LayoutBinderTest.java
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
rc/test/java/android/databinding/tool/expr/ExprTest.java
9e6805b0ab84967da017e48c5e8284d3263dae35 06-Jan-2016 Yigit Boyar <yboyar@google.com> Move to gradle 2.10

Change-Id: I1a642a954d3b9f7fb5bcb5639f21a58192349a31
radle/wrapper/gradle-wrapper.properties
0b95be4ce502c22a74287669d6fdda3d0df14f36 22-Dec-2015 Deepanshu Gupta <deepanshu@google.com> Add iml files for intellij project

Helps keeping settings like codeStyleSettings in sync.

Change-Id: I3919d9f8c11a1ef5bdc628f9456efa094ed4111d
ompiler.iml
4ba16229a40e9758db86d4fb1df5119fdcb8aa2a 22-Dec-2015 Deepanshu Gupta <deepanshu@google.com> Change from commons-lang3 to guava

Change-Id: I1a18e06af7bf2d65228f1491663b6e096a9538ed
uild.gradle
rc/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
rc/main/java/android/databinding/tool/ExpressionParser.java
rc/main/java/android/databinding/tool/ExpressionVisitor.java
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/kotlin/android/databinding/tool/writer/BRWriter.kt
rc/main/kotlin/android/databinding/tool/writer/KCode.kt
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
rc/test/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
a82f8fa2073c99aad5fd795c935a908fb4528a5f 17-Dec-2015 Deepanshu Gupta <deepanshu@google.com> Add "db" prefix to databinding modules.

Change-Id: Icf77f1faa047a31534ec739278cb47d4ab69e18d
ompiler.iml
b-compiler.iml
5bd6addc9cb9dda23d022a6632e90591457f613e 08-Dec-2015 Deepanshu Gupta <deepanshu@google.com> Add modules definitions.

These are referenced by the tools/idea project.

Also, some minor code improvments.

Change-Id: Ia1f6a80c257b9022a2efda553ccc9096e03edc00
ompiler.iml
rc/main/kotlin/android/databinding/tool/ext/list_ext.kt
e61d1cc710803cdf0ab4f2aca3d18c46949758a9 04-Dec-2015 Yigit Boyar <yboyar@google.com> Fix compiler tests setup, upgrade public known version

Change-Id: I91babbab13cd00d4f0df149c997349fca0aed80b
uild.gradle
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
0b6d118e6eeb3bc100fc6a6e66016ab812cb2783 04-Dec-2015 Yigit Boyar <yboyar@google.com> Avoid re-reading variables.

This CL fixes a bad code generation where we would set a variable to itself,
which breaks if you use a tool like ErrorProne.

I've also updated gradle version and data binding versions.

Bug: 25077399
Change-Id: I6620faf4cad5fa74dc7c35be03c46c4a76c9cfbc
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
1cd7d1209b1e3eec10cb2dd78b172b0d344008df 16-Nov-2015 George Mount <mount@google.com> Merge "Don't use DynamicUtil now that 1.0-rc5 has been released." into studio-master-dev
1907fd71019ef16d4fc2953d56f1ec0702275aa0 15-Nov-2015 Yigit Boyar <yboyar@google.com> Load intermediate files as Interface

Change-Id: I6e07443d7d51eaad0d655f4fcd2e3e43ef14bdc8
rc/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
90004de4330158be2351b9e26ba951f2ccbccfce 14-Nov-2015 George Mount <mount@google.com> Don't use DynamicUtil now that 1.0-rc5 has been released.

Change-Id: I017049ba3fb3c0d66982f504192d6a2814859f9a
rc/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
rc/main/java/android/databinding/tool/expr/ResourceExpr.java
rc/main/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
28e7064d455e2ef9da31c817dfc05ec7405c60df 11-Nov-2015 Yigit Boyar <yboyar@google.com> Override layout file metadata from module

If a layout file is inherited from a module but also exists
in the app, w~e force the app version to the metadata of the
module version. This means forcing its created class location
to be the same as the module. This usually happens when gradle
or aapt generates some layout during app compilation.

Bug: 25369165
Change-Id: I5d2002ac04d16cfe9935fe5580548344b19b4aca
rc/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
rc/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
59229481aec5a284d322a2ca80dff836485feb0c 30-Oct-2015 Yigit Boyar <yboyar@google.com> upgrade kotlin to 1.0-beta1

Change-Id: I62b77fd118e2715d272a16d96b9083d2347f5fb1
uild.gradle
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/MergedBinding.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/IdentifierExpr.java
rc/main/java/android/databinding/tool/expr/ListenerExpr.java
rc/main/kotlin/android/databinding/tool/ext/ext.kt
rc/main/kotlin/android/databinding/tool/ext/list_ext.kt
rc/main/kotlin/android/databinding/tool/writer/BRWriter.kt
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
rc/main/kotlin/android/databinding/tool/writer/KCode.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/main/resources/NOTICE.txt
d437f7eeb199ed9bf9fb9bed664258dbbcd87130 31-Oct-2015 Yigit Boyar <yboyar@google.com> Use publish from android build tools

This CL removes data binding's bintray plugin and starts using
the tools project. It can be uploaded to bintray only from tools
project.

databinding.properties file still reference rc3. We'll change it
when rc5 is public.

Change-Id: Id5801e488ae30cf0003372b5ae94f01306fbfa99
uild.gradle
33c345efd491d4cb2f50708d68680bd2a35cf4c8 31-Oct-2015 Chris Warrington <cmw@google.com> Merge "Disable compiler tests when running with Java 1.6." into studio-master-dev
55c723d08ef73d583b29d33e11be553fb021ae52 31-Oct-2015 Chris Warrington <cmw@google.com> Disable compiler tests when running with Java 1.6.

Change-Id: If269d76cf5d5a8980dcd86ec8ac7fb19a9da06c6
uild.gradle
83a8c9d56cba07985d611ce7df47346b94742336 23-Oct-2015 George Mount <mount@google.com> Add targetSdk check for DynamicUtil.

Change-Id: I271b3fc364c2d8689f22e0555174a8ca30bc04b5
rc/main/java/android/databinding/tool/CompilerChef.java
rc/main/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
499cacaab504a8166dfe44515e0242b9852d8673 30-Oct-2015 Yigit Boyar <yboyar@google.com> Revert "Revert "Update notice""

This reverts commit f5517fe4100cc751b365edb43a07455b7b435215.

Change-Id: Ic60d99c9a9508dbd912a67fa2d467e7332c51dfb
uild.gradle
rc/main/resources/NOTICE.txt
f5517fe4100cc751b365edb43a07455b7b435215 30-Oct-2015 Yigit Boyar <yboyar@google.com> Revert "Update notice"

This reverts commit 0a39d327fc5dedb0a766f1ad44d7b1fc7048ef84.

Change-Id: I72fad57691ac1fb1f74ccdd82d61d16b0b52e435
uild.gradle
rc/main/resources/NOTICE.txt
0a39d327fc5dedb0a766f1ad44d7b1fc7048ef84 30-Oct-2015 Yigit Boyar <yboyar@google.com> Update notice

Change-Id: I3d5e2a07075603fbc2ee9b6c93490f6ea2d7c594
uild.gradle
rc/main/resources/NOTICE.txt
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
uild.gradle
rc/main/java/android/databinding/annotationprocessor/ProcessBindable.java
rc/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
rc/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/MakeCopy.java
rc/main/java/android/databinding/tool/MergedBinding.java
rc/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/IdentifierExpr.java
rc/main/java/android/databinding/tool/expr/ListenerExpr.java
rc/main/java/android/databinding/tool/expr/MethodCallExpr.java
rc/main/java/android/databinding/tool/expr/ResourceExpr.java
rc/main/java/android/databinding/tool/expr/SymbolExpr.java
rc/main/java/android/databinding/tool/expr/TernaryExpr.java
rc/main/java/android/databinding/tool/reflection/SdkUtil.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/java/android/databinding/tool/util/GenerationalClassUtil.java
rc/main/kotlin/android/databinding/tool/writer/BRWriter.kt
rc/main/kotlin/android/databinding/tool/writer/KCode.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
012f7781add1b38b28c0c68a94172715e635c00e 23-Oct-2015 Yigit Boyar <yboyar@google.com> Avoid deprecation warnings in DynamicUtil

Change-Id: I2c7b5321bdfc7e3932a691cf724b9bd79edff471
rc/main/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
bdc7aa8269502b3fc3ce73c124e4f1b2092502c9 23-Oct-2015 George Mount <mount@google.com> Use a dynamically-generated class to relax requirement to upgrade.

We may need some static methods between releases and instead of
requiring a release, we can now supply the methods as a dynamically
generated class, DynamicUtil

Change-Id: I9d53ae99b4b5717cd4780efdcb7a3f85bfac8dd9
rc/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
rc/main/java/android/databinding/tool/CompilerChef.java
rc/main/java/android/databinding/tool/expr/ResourceExpr.java
rc/main/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
da97a54b679e19f4f40e23d290816093870956af 19-Oct-2015 George Mount <mount@google.com> Merge "Load drawables using the theme when necessary." into studio-master-dev
876ba3272f17ed891ea455e7dd526d44e468757c 17-Oct-2015 Yigit Boyar <yboyar@google.com> Fix broken test.

The test was using a sample which is not compliant with
JavaBeans notation. It did not fail before because these
tests are not compiled as data binding apps

Change-Id: Ifad7a1d204d6e6e4b227bc68ccabdb650d73dec6
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
88ce44ccc65e74a8553244ca246cc9f4c48483e0 15-Oct-2015 Yigit Boyar <yboyar@google.com> Create BR id from Callable

This CL fixes a bug where if an expression maps into a method
with a different name, we would create the BR id from the
expression instead of the referenced method.

Bug: 24973950
Change-Id: Ia57c31d926a737c9fc84775780aeb5e617769d43
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/java/android/databinding/tool/expr/MethodCallExpr.java
rc/main/java/android/databinding/tool/reflection/Callable.java
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/util/BrNameUtil.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
d0bb3f1e1a94747bb3dd8bd2fee315d8816f0f5d 14-Oct-2015 George Mount <mount@google.com> Load drawables using the theme when necessary.

Bug 24936186

Drawables could be loaded from themed resources as of L (v21),
so the Theme should be used to load those resources.

The same is true for ColorStateList in M (v23).

Change-Id: I3e6d7a55ff7fe744ed872f83f550abfb018a3df8
rc/main/java/android/databinding/tool/expr/ResourceExpr.java
09aeb26073fc8a98263806f53e44819ebe5046c6 09-Oct-2015 Yigit Boyar <yboyar@google.com> Handle constant predicate in ternary

If a ternary expressions's predicate is constant, we would never evaluate it
which means we would never evaluate the ternary unless some other expression
depends on it.

This CL changes ExprModel to move such constant expressions into pending list
so that they can be evaluated + necessary flags are set.
We can actually avoid this process by replacing TernaryExpression with something
else when this case is detected but that would be a bigger change and not safe
shortly before the release.

Hopefully, codegen logic will be refactored into a more well defined process.

Bug: 24768154
Change-Id: I0918568414b64d64f070978f1f8e77cc3b6c85fd
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/TernaryExpr.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
4a6c37d256084b60becc095f8fdecbc959d0ee1d 08-Oct-2015 Yigit Boyar <yboyar@google.com> Merge "Fix tag check in data binding mapper" into studio-master-dev
d3dc1b70aa71e8343dbf5e05a2feeb72bb29b6ec 08-Oct-2015 Yigit Boyar <yboyar@google.com> Fix tag check in data binding mapper

This CL fixes a bug in data binding mapper where if the View's tag does
not match one of the expected tags, it would fall through to the ext
case statemet which would result in a meaningless error.

This CL detects the case and throws an exception. This case should not
happen since it is not a supported case but happened here due to another
bug

Bug: 24745000
Change-Id: Ic5c6d4ce2da6ad043fb6fe56cd0847c98ea2472d
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
fd8342a51a96282df315cd27055ba539e89a8c9e 07-Oct-2015 Yigit Boyar <yboyar@google.com> Report syntax errors even though Antlr can recover

This CL makes Antlr parser more strict by not allowing errors.
Antlr usually tries to recover from these errors but thats
not what we really want for this use case.

This CL also updates version codes to rc4 since rc3 is already out.

Change-Id: I0d305e06a6cdcbae2f37573c3c6ae4233cdd7958
rc/main/java/android/databinding/tool/ExpressionParser.java
rc/main/java/android/databinding/tool/LayoutBinder.java
e23af2603f80c6d51b4f0be47d82477f6cca975d 06-Oct-2015 Yigit Boyar <yboyar@google.com> add kotlin prebuilts license

Change-Id: I10c41d5b9edc1312000b6cfbfc5b481dd72f031c
rc/main/resources/NOTICE.txt
f1081f6a15e6b905701bd3bbcb5d598731d05afb 06-Oct-2015 George Mount <mount@google.com> Fix error processing XML when german character is used.

Bug 24507894

The character set was not being properly detected for the XML
file when it was being loaded, so it was always using the default
character set. For Windows, this turned out to be something other
than UTF-8. Now, a library is used to detect the character set
before parsing.

Change-Id: I2ea041701de59f0e72fd18288b0f62cb2beb74e6
rc/main/resources/NOTICE.txt
219d16f518d161d9fcc1f0eca950863105990568 05-Oct-2015 George Mount <mount@google.com> Merge "Fix resolving listeners for multi-attribute binding adapters." into studio-master-dev
975c05c00dae9193a636c4775df81d8665fc6749 30-Sep-2015 George Mount <mount@google.com> Fix resolving listeners for multi-attribute binding adapters.

Bug 24538724

Change-Id: I39a72fd701abf9d2368d2a0a7fc5a4c1ac63c0a0
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/MergedBinding.java
74c69a5dfad22472ceace07480e564610dc481e0 30-Sep-2015 Yigit Boyar <yboyar@google.com> Merge "Load full SDK table" into studio-master-dev
f01c66d7aaafd713de64b499c568f5870855dcd5 30-Sep-2015 Yigit Boyar <yboyar@google.com> Load full SDK table

When loading methods from the SDK, we would only load
methods that have since > Application.minApi. This
way, we would keep the hash very small. On the other
hand, this algorithm break if a newer API version adds
a method that has the same signature with a subclass.

This case happened when we added setForeground to
View at API 23 but it has been in FrameLayout since 1.

Bug:24509802
Change-Id: I7ac7ca5d1aac142a9afe8cd57ab9497dfb649650
rc/main/java/android/databinding/tool/reflection/SdkUtil.java
rc/test/java/android/databinding/tool/reflection/SdkVersionTest.java
a128d1c99ea98bb48c45d648906652e3d618d513 29-Sep-2015 George Mount <mount@google.com> Bring all instance BindingAdapters into Component.

This also uses a non-arbitrary ordering for name clashes.

Bug 24407912

Change-Id: Ibd96adfb979af86370889acb7b60c1b6953b190d
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/DataBinder.java
rc/main/java/android/databinding/tool/MergedBinding.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/java/android/databinding/tool/writer/ComponentWriter.java
d7a88db363a66f8afe51d92f029fd139f5fc6cd3 29-Sep-2015 George Mount <mount@google.com> Merge "Add context as an automatic variable." into studio-master-dev
cecfe2b01c96246ff05c40a43f5fc73b92382047 28-Sep-2015 Yigit Boyar <yboyar@google.com> Remove log method

Change-Id: I92a80a21ef5f466e84b22c3bbf1132ea56819f4b
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
7c1b078ca84336caba7f811709836562bd5550d6 17-Sep-2015 George Mount <mount@google.com> Add context as an automatic variable.

Bug 24136218

Change-Id: I0996ac8d3b42d29fbfe1c14da1343e05954c3bef
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
d3deca05df54ca4d3af06e282d37fc6b8ec18dc3 23-Sep-2015 Yigit Boyar <yboyar@google.com> Merge "Upgrada kotlin to m13" into studio-master-dev
8dcc185bbd1b1e3654c6018a740b6e33283d908b 21-Sep-2015 Yigit Boyar <yboyar@google.com> Fix test initialization.

This tests was behaving flaky. Looks like if it is the first
test to run, it would crash because JavaAnalyzer is not initialized.
Onether reason to not to use static singletons.

Change-Id: I1afa26f002e927dcf6b17f0bee42f464a0d67bd4
rc/test/java/android/databinding/tool/LayoutBinderTest.java
5d454e5f2397a3b160f081ce123b4ca7ff0fc356 19-Sep-2015 Yigit Boyar <yboyar@google.com> Upgrada kotlin to m13

Change-Id: Iec30be0e153f7354d4909970be4292fcf11988bf
rc/main/kotlin/android/databinding/tool/writer/KCode.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/main/resources/NOTICE.txt
2573102ac98a69ff9a804496cb8947031ad4c229 11-Sep-2015 Yigit Boyar <yboyar@google.com> Fix local builds

This CL fixes local builds where some deps were not
downloaded but they were coming from maven (by mistake).

Bug: 24000910
Change-Id: Id188b30a6ac94c14e382dcedab1906bfb7a7e4f0
rc/main/resources/NOTICE.txt
1f1f50563ad8166e3cd2be64b705ae583834540d 11-Sep-2015 Yigit Boyar <yboyar@google.com> Shift Long in FlagSet instead of int :/

Bug: 23979611
Change-Id: I7825a718dddd1c15d598f19a4fe8722ddc5a5763
rc/main/java/android/databinding/tool/writer/FlagSet.java
rc/test/java/android/databinding/tool/writer/FlagSetTest.java
dd41d0eb241157a3bf12ba03a67c8ab77aac5e0a 09-Sep-2015 George Mount <mount@google.com> Merge "Fat jars and jarjars" into studio-master-dev
69cbd9e8fab49e38adc1a28b6616e17c5f8338c2 26-Aug-2015 George Mount <mount@google.com> Fat jars and jarjars

Release versions of the gradle plugin and annotation processor
now contain all of their dependencies, repackaged.

Change-Id: I93fba3eed150aafa8a88d439103b90d270e71cdf
uild.gradle
rc/main/resources/NOTICE.txt
76b791f78542a2feb191482a2204de95eaf8ee72 04-Sep-2015 George Mount <mount@google.com> Better handling of out of bounds exceptions on bracket expressions.

Bug 23820607

Handle out of bounds in bracket expressions by returning the
default value.

Change-Id: I8b3a5a5ced48acfd6683ee1df6264480526244d1
rc/main/java/android/databinding/tool/expr/BracketExpr.java
eebcbdd5d35e56a2c8ef37feeb65df46130d001d 26-Aug-2015 Yigit Boyar <yboyar@google.com> Fix the bug about marking expressions as read early

@{obj4.text}
@{obj4.useHello ? obj4.text : `hello`}

This case was broken and would not re-read obj4.text if
only obj4.useHello is invalidated. It was partially fixed in
Change-Id: Id449c8819b8dc0301a7ab893002478914780d480 but
but it was bringing it down to exact equality which would
mean we could fail to mark sth as read.

The coverage logic we use in expressions when marking them
as read was giving false positives, which results in
marking expressions as read before they are fully read.
This CL fixes that bug. The safe fix introduces some false
negatives when a conditional is behind another conditional.
We can address this post v1.

There was also another bug about setting conditional flags
even though the ternary does not need to be calculated.

@{obja.boolMethod(a)}
@{a ? objb.boolMethod(b) : objc.boolMethod(c)}

When obja is invalidated, it would re calculate the second
binding expression too even though it is never used (because
that expression is not invalidated). The re-calculation would
happen because we would calculate the value of `a` and set
the conditional flags w/o checking invalidation.

This would result in unnecessary calculations. I've also fixed
it for first degree where the ternary is not under another
ternary. The proper fix would requires bigger effort, post V1.

bug: 22957203
Change-Id: Ib73f31eac358f2ad7652395a021baaa93b79adf7
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/LayoutBinderTest.java
rc/test/java/android/databinding/tool/MockLayoutBinder.java
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
rc/test/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
bd42d20f70b1f88e27e3b3c9c3a9c55ec155d128 25-Aug-2015 George Mount <mount@google.com> Support generics in conversion parameters.

Bug 23490384

Change-Id: I691da60a671d15c73cf2753ff830f9effb360e96
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/test/java/android/databinding/tool/reflection/java/JavaClass.java
23910cf498c35704a03ba4f3889de2ab97ccbe21 25-Aug-2015 George Mount <mount@google.com> Make setVariable return true for declared variables.

Bug 23518718

Change-Id: Ic147421aefe0adbf576285ca642334fcb907abfb
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/expr/IdentifierExpr.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
70eac8c30b5cd1b357bc23b32bb56f81416c54d6 26-Aug-2015 George Mount <mount@google.com> Merge "Fix access to static field of generic object." into studio-master-dev
e0d5ed7613cb72192430cd2ed8e4159618ca308e 25-Aug-2015 George Mount <mount@google.com> Fix NPE when evaluating bracket expressions.

Bug 23498104

Change-Id: I8de149e573721485b916ae6ae692113f3ed2990d
rc/main/java/android/databinding/tool/expr/BracketExpr.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
23ad7265de1729abdcda4fc3dbae5f7e6818c6ac 24-Aug-2015 George Mount <mount@google.com> Fix access to static field of generic object.

Bug 23491360

Change-Id: I94c62b67dfa8f8bd4c7f9fb5ab1adff4a927f77b
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
9e7a4ce47ae5f4428f7630fe03a7ad66d06177fb 24-Aug-2015 George Mount <mount@google.com> Reduce updateRegistration calls on rebind.

Change-Id: Icc9a38acb0398d6eb2c516e7edef506e46b9710b
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
97758524d3953793b50e3e0121ef3cbdc047b35b 19-Aug-2015 George Mount <mount@google.com> Remove automatic converstions to Object.

Bug 23348140

Change-Id: I6bdcb0982c2e755dc4ad0eb53b35e07d1ac9ebed
rc/main/java/android/databinding/tool/store/SetterStore.java
92a428505b9102bc0560d2d5be1768da097909c2 06-Aug-2015 George Mount <mount@google.com> Support binding expressions in android:tag attribute.

Bug 22972105

Also added error reporting for tags on root elements
and tests. ICS+ supports tags on root elements.

Change-Id: I1f3fe5e59b68a04fd80e3e2638a7b7743fac027d
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
91beb3a1a89a58b1c0b6b874d889394a3be90b6c 06-Aug-2015 George Mount <mount@google.com> Fix ternary operator with null assigned to listener.

Bug 22907244

When finding a common type, null is an Object and
the listener is an interface, so the types don't
match.

Change-Id: I0c5a88ec02230767b894b2feda17a1a1c8cef9f7
rc/main/java/android/databinding/tool/expr/TernaryExpr.java
rc/main/java/android/databinding/tool/reflection/ModelAnalyzer.java
793e979f25e190162eacf46d6a4efc3efc1d2f91 31-Jul-2015 George Mount <mount@google.com> Support different event handlers having different API levels.

Bug 22957226

Change-Id: Ia08bcb857872eccad3340c14b8d10b78198b90a6
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/MergedBinding.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/java/android/databinding/tool/expr/ListenerExpr.java
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
a0820baa03e731f274ef55c5541e9fc101bbaddb 03-Aug-2015 George Mount <mount@google.com> Combine like conditions for efficiency.

Bug 22957163

Change-Id: If35430c966900ff9af56375152441e28066a4c89
rc/main/java/android/databinding/tool/writer/FlagSet.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
96b22e7bbbf942aea1079dc8e8d0c4657663e5a7 30-Jul-2015 George Mount <mount@google.com> Multiple adapter attributes can now have optional expressions.

Bug 22957032

Change-Id: If1b04262009a1edf311d097c65e97b194103906e
rc/main/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
rc/main/java/android/databinding/tool/store/SetterStore.java
e52882df6130221462bf07f5f2b52de5c4b0f8de 30-Jul-2015 George Mount <mount@google.com> Move toCode to Expr classes.

It turns out that toCode as part of Java is just
about as readable as in kotlin and it makes much
more sense than using instanceof (equivalent).

Change-Id: Ic2a0de5c4376dafa487d048e6a9420fab9e7f22a
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/MergedBinding.java
rc/main/java/android/databinding/tool/expr/ArgListExpr.java
rc/main/java/android/databinding/tool/expr/BitShiftExpr.java
rc/main/java/android/databinding/tool/expr/BracketExpr.java
rc/main/java/android/databinding/tool/expr/CastExpr.java
rc/main/java/android/databinding/tool/expr/ComparisonExpr.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/java/android/databinding/tool/expr/GroupExpr.java
rc/main/java/android/databinding/tool/expr/IdentifierExpr.java
rc/main/java/android/databinding/tool/expr/InstanceOfExpr.java
rc/main/java/android/databinding/tool/expr/MathExpr.java
rc/main/java/android/databinding/tool/expr/MethodCallExpr.java
rc/main/java/android/databinding/tool/expr/ResourceExpr.java
rc/main/java/android/databinding/tool/expr/StaticIdentifierExpr.java
rc/main/java/android/databinding/tool/expr/SymbolExpr.java
rc/main/java/android/databinding/tool/expr/TernaryExpr.java
rc/main/java/android/databinding/tool/expr/UnaryExpr.java
rc/main/kotlin/android/databinding/tool/writer/CodeGenUtil.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
rc/test/java/android/databinding/tool/expr/ExprTest.java
d615f15f0f0cc4c4de7570119d181e13d44e708a 05-Aug-2015 George Mount <mount@google.com> Fixed: conditional expression not always waiting for its dependencies.

Bug 22957203

Some conditional expressions were not waiting for all of their
dependencies to be evaluated before evaluting the expression.

Change-Id: Id449c8819b8dc0301a7ab893002478914780d480
rc/main/java/android/databinding/tool/expr/Expr.java
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
999a46723cb5e87316c1c0f3361751fd461b0e37 16-Jul-2015 George Mount <mount@google.com> Merge "Fix up javadoc." into mnc-dev
5501d3ac436eaf975383b6d1e3d9fd7bcf73b4fa 15-Jul-2015 Yigit Boyar <yboyar@google.com> Merge "Localize Maven" into mnc-dev
a649c6ce3f6eb4882221e77a1d27e0d28c4c13a0 15-Jul-2015 George Mount <mount@google.com> Fix compilation tests.

Bug 22489623

Change-Id: Id948b2fcc4496dd5e94b6047dd6e4758cbfa5159
rc/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
24bec1cc542de69e0e21cc774469f20d34811ad9 09-Jul-2015 Yigit Boyar <yboyar@google.com> Localize Maven

This CL introduces a new development plugin that downloads all
dependencies into the given repository. This will allow us to
build data binding in build servers w/o internet connection.

By default, it is setup to disable public repositories to avoid
adding a new dependency w/o running the script.
Public repositories can be added by running -PaddRemoteRepos=true.
There is also a convenience script to fetch dependencies.
localize.sh

Bug: 19626302
Change-Id: I9d200550b76c3b60119cdbbdb4e1e7772d0da1d7
uild.gradle
070c9f6208e036b6656446d36746d97cad541d21 14-Jul-2015 George Mount <mount@google.com> Merge "Support dependency injection." into mnc-dev
c9a5d6f140f732ca0ff279a4b1ee315072e1c422 11-Jul-2015 George Mount <mount@google.com> Fix up javadoc.

Bug 22175560

Change-Id: Ib5bfd87f66602919764bd9b28c0afdcbe55a7ce5
rc/test/java/android/databinding/CallbackRegistryTest.java
e4cd38824a6627b9fef229c549c636e35ad63b5f 07-Jul-2015 George Mount <mount@google.com> Support dependency injection.

Bug 22389109

Change-Id: Iec63375c5412edc03b4808ee129a7596b61bf9e6
rc/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
rc/main/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/CompilerChef.java
rc/main/java/android/databinding/tool/DataBinder.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/MergedBinding.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/java/android/databinding/tool/writer/ComponentWriter.java
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
63d478953393b1a2ea3b68d298b1d5fc64542e7b 10-Jul-2015 Yigit Boyar <yboyar@google.com> Set version to rc1 and also update kotlin version

This CL also adds a bintray plugin to easily upload artifacts to bintray.
The plugin is a separate project (because main project depends on it) so
I've committed it as a prebuilt since it is unlikely to change.

Change-Id: I801b334e40bfb49a18bf7190e5100e0910a606a2
uild.gradle
08119ea342cb47910ca80ff646d746f00e4663ce 06-Jul-2015 Yigit Boyar <yboyar@google.com> Print encoded errors only if data binding is invoked from the IDE

This CL makes Scope aware of execution environment. Now when invoked
from tests or via IDE, we'll print exceptions as encoded so that we
can parse them back. When user invokes from command line or any other
tool, we will print human readable errors.

The encoded error format may still change depending on conversations
w/ Studio team.

Bug: 21953001
Change-Id: I5bd3ea0cb6728e011225ee84d3e38817a2993a43
rc/main/java/android/databinding/annotationprocessor/BuildInfoUtil.java
b15fd21ad1821b5e6a1c0c4977bc24c01d6bc7ce 01-Jul-2015 Yigit Boyar <yboyar@google.com> Merge "Introduce Scopes to track logical stack traces" into mnc-dev
e8609ca3a9e95cb730d74f8a6114bc2ae11b6a10 30-Jun-2015 Yigit Boyar <yboyar@google.com> Add cache to GenerationalClassUtil to avoid re-reading jars

Bug:22185294
Change-Id: I0c9def9944ecc68e7e5df530228d00011c1f8c57
rc/main/java/android/databinding/annotationprocessor/ProcessBindable.java
rc/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
rc/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/java/android/databinding/tool/util/GenerationalClassUtil.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
rc/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/DataBinder.java
rc/main/java/android/databinding/tool/ExpressionParser.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/expr/BracketExpr.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/java/android/databinding/tool/expr/GroupExpr.java
rc/main/java/android/databinding/tool/expr/IdentifierExpr.java
rc/main/java/android/databinding/tool/expr/MethodCallExpr.java
rc/main/java/android/databinding/tool/expr/UnaryExpr.java
rc/test/java/android/databinding/tool/MockLayoutBinder.java
4df4ba38a62b791bbbc25e923efe8d9c2f9a52e9 27-Jun-2015 Yigit Boyar <yboyar@google.com> Data binding startup improvement

This CL replaces how we map tags(string) to layout ids in the
generated DataBindingMapper class. Previously, we would create
a hashmap which was some unnecessary work in startup. The alternative
was using switch(string) but we did not want to require java 7.
This CL does what java 7's switch(string) would do thanks to the
well defined API of String.hashCode.

This CL also adds a method to DataBindingUtil to convert BR.ids
back to String for debugging purposes.

Bug: 22108735
Change-Id: I4b8ef816f4aac99b2963793dd46519b056ce4a30
rc/main/java/android/databinding/annotationprocessor/ProcessBindable.java
rc/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
rc/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
rc/main/java/android/databinding/tool/CompilerChef.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/kotlin/android/databinding/tool/writer/BRWriter.kt
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
1b506ae96dc762ac027104248807ca3ae078711d 30-Jun-2015 George Mount <mount@google.com> Merge "Fix bug preventing use of android IDs for Views." into mnc-dev
e67abb55de62e735eb2a2a406ce22a1dfa9e9a46 30-Jun-2015 George Mount <mount@google.com> Merge "Don't use array of protected static classes in Binding classes." into mnc-dev
fdfbbcd5ecf37d77a4b9ab1cefdebd68de71ca2b 30-Jun-2015 George Mount <mount@google.com> Fix bug preventing use of android IDs for Views.

Bug 22160629

Change-Id: Ib0a2b6d5333e63e25045ccf39a5582e1d74494df
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
239e15adad52d3a7d77852953a5dd7eee82f7f2c 26-Jun-2015 George Mount <mount@google.com> Don't use array of protected static classes in Binding classes.

Bug 22097806

Because of bug 15719206, arrays of protected inner classes may
not be used with multi-dex'd applications. The arrays were moved
to the protected class.

Change-Id: Icb030f2139c763238028ff73eab53502c74edb88
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
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
rc/main/java/android/databinding/tool/ExpressionParser.java
rc/main/java/android/databinding/tool/ExpressionVisitor.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/test/java/android/databinding/tool/ExpressionVisitorTest.java
rc/test/java/android/databinding/tool/LayoutBinderTest.java
rc/test/java/android/databinding/tool/expr/ExprModelTest.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
uild.gradle
rc/main/java/android/databinding/annotationprocessor/BuildInfoUtil.java
rc/main/java/android/databinding/annotationprocessor/ProcessBindable.java
rc/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
rc/main/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/ExpressionVisitor.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/MergedBinding.java
rc/main/java/android/databinding/tool/expr/BitShiftExpr.java
rc/main/java/android/databinding/tool/expr/BracketExpr.java
rc/main/java/android/databinding/tool/expr/CastExpr.java
rc/main/java/android/databinding/tool/expr/ComparisonExpr.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/java/android/databinding/tool/expr/IdentifierExpr.java
rc/main/java/android/databinding/tool/expr/InstanceOfExpr.java
rc/main/java/android/databinding/tool/expr/MathExpr.java
rc/main/java/android/databinding/tool/expr/MethodCallExpr.java
rc/main/java/android/databinding/tool/expr/ResourceExpr.java
rc/main/java/android/databinding/tool/expr/SymbolExpr.java
rc/main/java/android/databinding/tool/expr/TernaryExpr.java
rc/main/java/android/databinding/tool/expr/UnaryExpr.java
rc/main/java/android/databinding/tool/reflection/ModelAnalyzer.java
rc/main/java/android/databinding/tool/reflection/SdkUtil.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
rc/test/java/android/databinding/tool/expr/ExprTest.java
rc/test/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
0c2ed0cbaee2f206e926bfc780b05e9f1e52b551 24-Jun-2015 Yigit Boyar <yboyar@google.com> Remove guava dependency from the plugin

This CL is the first step in getting rid of guava dependency.
It removes guava from compilerCommon which in return removes
the dependency for the gradle plugin.

This CL also fixes compiler tests which were broken by the
listener CL.

Bug: 22047836
Change-Id: I43f87885c5291174f5bc694487fc6c075b480194
rc/main/java/android/databinding/tool/expr/ExprModel.java
716ba89e7f459f49ea85070d4710c1d79d715298 18-Jun-2015 George Mount <mount@google.com> Support calling listener methods without interfaces.

Bug 21594573

It is convenient to be able to assign event listeners by just
referencing a method, similar to the way onClick="handler" works.

This adds a whole lot of listeners for the framework. Additional
listeners must be added for support library components.

This isn't perfect in resolving listeners. Perfect resolution
requires that each expression is evaluated in its own context
within the binding statement. If, for example, the same method
name is used for a listener and an accessor, we will assume
that the listener is used always and there will be a compilation
failure.

Change-Id: If4705122b67a451430451b6e7d890eb813af1c5c
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/MergedBinding.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/java/android/databinding/tool/reflection/Callable.java
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/reflection/ModelMethod.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationMethod.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/kotlin/android/databinding/tool/writer/CodeGenUtil.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/reflection/java/JavaClass.java
rc/test/java/android/databinding/tool/reflection/java/JavaMethod.java
af84cb304c158381a8bf0f0ac1c37c5a2ad04bfb 23-Jun-2015 Yigit Boyar <yboyar@google.com> Merge "Don't generate inflators for libraries" into mnc-dev
924fa7c597694ebc433fc0379d0015785351d1b7 23-Jun-2015 Yigit Boyar <yboyar@google.com> Fix compiler tests

Compiler tests were broken after the parcelable change.
JavaClassLoader cannot access Parcelable when resolving ObservableXX
from the library. Compiler tests do not need to resolve Observables
so in this CL I override the related method to avoid trying to
load them.
I've also removed the requirement to deploy a libraryJar from the
library. Instead, compiler will directly include the library
sources when it is being compiled for tests.
uild.gradle
rc/main/java/android/databinding/tool/reflection/ModelAnalyzer.java
rc/test/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
8b1da958f181639d33dfaa907c0ee66add2decd6 23-Jun-2015 Yigit Boyar <yboyar@google.com> Don't generate inflators for libraries

If a library project (A) depends on anohter library project (B),
we would generate code that accesses R file of project B while
compiling project A. Unfortunately, gradle does not generate that
R file when compiling A, it only exists when compiling the app
and B.
This CL changes the base class generation to not to generate
real code for base classes unless we are building the final app.

Bug: 22001270
Change-Id: Ic107001ab58c94016f37f7f6fc0470a822db3aa7
rc/main/java/android/databinding/tool/DataBinder.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
d37b47419005587c52ca4c099432327b7f06478d 19-Jun-2015 Yigit Boyar <yboyar@google.com> Make observables parcelable

We got some feedback where people want to keep their View presenter
classes parcelable. This CL makes observables parcelable and
their lists transient to allow this.

Bug: 21785040
Change-Id: I76adc7d7ca3876c83fd8749f6dbcf02a926c97c2
rc/main/java/android/databinding/tool/reflection/ModelAnalyzer.java
6a62f1fff2a45c639b85c6cc12c00a1d8e9e98c9 17-Jun-2015 George Mount <mount@google.com> Merge "Support old values in binding adapters." into mnc-dev
20c7182163d99575d382e065f5a5fe45ed6b87e2 12-Jun-2015 George Mount <mount@google.com> Support old values in binding adapters.

Bug 21594573

When a binding adapter takes old values, the old values
are stored in the generated binding as fields.

Change-Id: Ib163d74720a8199d70ff6884d59fbe4e0d17fece
rc/main/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/MergedBinding.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
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
indingExpression.g4
MLLexer.g4
MLParser.g4
uild.gradle
rc/main/grammar-gen/android/databinding/parser/BindingExpression.tokens
rc/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java
rc/main/grammar-gen/android/databinding/parser/BindingExpressionBaseVisitor.java
rc/main/grammar-gen/android/databinding/parser/BindingExpressionLexer.java
rc/main/grammar-gen/android/databinding/parser/BindingExpressionLexer.tokens
rc/main/grammar-gen/android/databinding/parser/BindingExpressionListener.java
rc/main/grammar-gen/android/databinding/parser/BindingExpressionParser.java
rc/main/grammar-gen/android/databinding/parser/BindingExpressionVisitor.java
rc/main/java/android/databinding/tool/LayoutXmlProcessor.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
rc/main/java/android/databinding/tool/store/ResourceBundle.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/java/android/databinding/tool/util/L.java
rc/main/java/android/databinding/tool/writer/JavaFileWriter.java
rc/main/kotlin/android/databinding/tool/util/ParserHelper.kt
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
rc/main/xml-gen/android/databinding/parser/XMLLexer.java
rc/main/xml-gen/android/databinding/parser/XMLLexer.tokens
rc/main/xml-gen/android/databinding/parser/XMLParser.java
rc/main/xml-gen/android/databinding/parser/XMLParser.tokens
rc/main/xml-gen/android/databinding/parser/XMLParserBaseListener.java
rc/main/xml-gen/android/databinding/parser/XMLParserBaseVisitor.java
rc/main/xml-gen/android/databinding/parser/XMLParserListener.java
rc/main/xml-gen/android/databinding/parser/XMLParserVisitor.java
5d22cc076ccddf9fc94cc2261f6962864e04a586 15-Jun-2015 George Mount <mount@google.com> Merge "Remove fragment data binding." into mnc-dev
ad34a89c8ae0814403107014ebbe8a40069ffe6b 15-Jun-2015 Yigit Boyar <yboyar@google.com> Merge changes Ida966e4b,Ibeed24bd into mnc-dev

* changes:
Remove kotlin from gradle plugin
Export generated class list from javac
d6527ee28cc3aa05818799af8def9593346f91bc 15-Jun-2015 George Mount <mount@google.com> Remove fragment data binding.

Fragment data binding is much more complex than the previous
implementation supported. It may be that we don't want to support
data binding to fragments because fragment life cycle differs
from View life cycle, including back stack support.

I made it so that fragments with IDs do not get public final
fields on the generated data binding objects.

Bug 21667601

Change-Id: Ief77972ea854f7ded5a93aa59822d76ef533fc21
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
rc/main/java/android/databinding/tool/store/ResourceBundle.java
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
48e1bff5c3491421759185be45f154a0145a8616 15-Jun-2015 Yigit Boyar <yboyar@google.com> Merge "Fix public field resolution" into mnc-dev
668c37ceb56afcd9482773866121a20b8757895e 15-Jun-2015 Yigit Boyar <yboyar@google.com> Merge "Compilation tests module" into mnc-dev
0d6e2b8ac5e9e8635adf95c4166dd26441c51997 13-Jun-2015 Yigit Boyar <yboyar@google.com> Fix public field resolution

This CL fixes a bug where if a field is prefixed w/ one of our private
field conventions, we would not be able to find it because we would
strip it.

Now, when searching fields, we'll also look for exact match as we
do for methods.

Bug: 21807334
rc/main/java/android/databinding/tool/reflection/ModelClass.java
b6887f1479c3ecec38a7989748ef33de1fbcd973 12-Jun-2015 Yigit Boyar <yboyar@google.com> Export generated class list from javac

Previously, gradle plugin would figure out generated class names
that should be excluded from the packaging. This CL changes that
behavior to export the list from java compiler so that it is
consistent going forward.

This CL also changes exclusion task to always exclude generated
binding info class to not to leak any information about user's
local.

Bug: 21668472
Change-Id: Ibeed24bd854781942b4185f618a5cd1eafe706d3
rc/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
rc/main/java/android/databinding/tool/CompilerChef.java
rc/main/java/android/databinding/tool/DataBinder.java
rc/main/java/android/databinding/tool/LayoutXmlProcessor.java
rc/main/java/android/databinding/tool/MakeCopy.java
9064a1dd60eb8c2f9d2ed705b36bb5f0b1629771 09-Jun-2015 Yigit Boyar <yboyar@google.com> Compilation tests module

This CL adds a new module which is a java project that can be
used to create one-off project setups. This module will be
used to test error cases and to make sure we detect errors
and dispatch proper error messages.

I've also updated antlr to 4.5 which gets rid of the annoying
annotation processor source compatibility error:
https://github.com/antlr/antlr4/issues/487

Bug: 21735564
Change-Id: I16c04923c7d69ca40fe13139acaf87c08166ad95
uild.gradle
2f64c44e4fa296cf658ca986c095eab62f82a31d 11-Jun-2015 Yigit Boyar <yboyar@google.com> Request a rebind when invalidateAll is called

Bug: 21785116
Change-Id: I79b886df1f016a8abe87723876502adfe1843897
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
0792cfc12b4854c377f6e72a02b4e74bae95aa0c 11-Jun-2015 Yigit Boyar <yboyar@google.com> Merge "Improve static method / field handling" into mnc-dev
81abdb7df8c6507e8246dd7c784e363b46fb9f5c 11-Jun-2015 George Mount <mount@google.com> Merge "Support data binding for fragments." into mnc-dev
ec2f3896c21a504b464bf591cdb45b62692b6760 10-Jun-2015 Yigit Boyar <yboyar@google.com> Improve static method / field handling

Previously, we would allow access to static fields via instance
variables but it would not work for methods. Moreover, the behavior
was not exactly the same with how java handles it. In java, the
instance can be null but our binding code would not evaluate it
if instance is null.

This CL fixes these bugs by adding static resolution support to
methods and replacing their variable identifiers with static
identifiers while the method is being resolved so that the rest
of the system is still consistent.

Bug: 20412284
Change-Id: Id97ce564c312b97d5a0e60d7d7a5bbd06b131071
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/java/android/databinding/tool/expr/MethodCallExpr.java
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
4d4979490e1fa374c0d7f3599fed0a9e83a579d0 08-Jun-2015 George Mount <mount@google.com> Support data binding for fragments.

Bug 21667601

Change-Id: I636dec1bbb5567d70a996e115e6bf8322c3aa29d
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/LayoutXmlProcessor.java
rc/main/java/android/databinding/tool/MakeCopy.java
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
rc/main/java/android/databinding/tool/store/ResourceBundle.java
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
fda1703c88eb22e9f166d957d6bda2cd8d645b8f 11-Jun-2015 Yigit Boyar <yboyar@google.com> Upgrade kotlin to 0.12.412

Bug: 21756156
rc/main/kotlin/android/databinding/tool/ext/ext.kt
rc/main/kotlin/android/databinding/tool/ext/list_ext.kt
rc/main/kotlin/android/databinding/tool/ext/node_ext.kt
rc/main/kotlin/android/databinding/tool/util/ParserHelper.kt
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
rc/main/kotlin/android/databinding/tool/writer/CodeGenUtil.kt
rc/main/kotlin/android/databinding/tool/writer/KCode.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dc 05-Jun-2015 George Mount <mount@google.com> Only create case statements for Bindable attributes.

Bug: 21571818
Change-Id: Id03c7a7de6e39d7f59da6cda11d3311f072addd0
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
081ec223f1f2f801bd907ec6344b0c6aeee133e5 05-Jun-2015 George Mount <mount@google.com> Fix inflate() to support attachToRoot = true

Bug 21660713
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
4a81aabc49f6c881d960cd541adda7de9625277a 27-May-2015 Yigit Boyar <yboyar@google.com> Localize variables

Generated sources should localize variables to avoid NPE's due
to setting variable to null in a background thread.

Bug:21447037
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
b1356339eaa6c8e967e4fc1dc283b82909a1208d 22-May-2015 Yigit Boyar <yboyar@google.com> Merge projects for an easier release

This CL merges annotation processor, xml grammer and grammer builder
into compiler project.

It also adds logic to pass gradle's --debug parameter to the
annotation processor so that we can grab logs when necessary.

Bug: 21327802
Change-Id: I1d07002519a6b95de3cdc0891bd00f461f73e8ea
indingExpression.g4
MLLexer.g4
MLParser.g4
uild.gradle
rc/main/grammar-gen/android/databinding/parser/BindingExpression.tokens
rc/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java
rc/main/grammar-gen/android/databinding/parser/BindingExpressionBaseVisitor.java
rc/main/grammar-gen/android/databinding/parser/BindingExpressionLexer.java
rc/main/grammar-gen/android/databinding/parser/BindingExpressionLexer.tokens
rc/main/grammar-gen/android/databinding/parser/BindingExpressionListener.java
rc/main/grammar-gen/android/databinding/parser/BindingExpressionParser.java
rc/main/grammar-gen/android/databinding/parser/BindingExpressionVisitor.java
rc/main/java/android/databinding/annotationprocessor/AnnotationUtil.java
rc/main/java/android/databinding/annotationprocessor/BuildInfoUtil.java
rc/main/java/android/databinding/annotationprocessor/ProcessBindable.java
rc/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
rc/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
rc/main/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
rc/main/java/android/databinding/tool/LayoutXmlProcessor.java
rc/main/java/android/databinding/tool/util/L.java
rc/main/kotlin/android/databinding/tool/util/Log.kt
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/main/resources/META-INF/services/javax.annotation.processing.Processor
rc/main/xml-gen/android/databinding/parser/XMLLexer.java
rc/main/xml-gen/android/databinding/parser/XMLLexer.tokens
rc/main/xml-gen/android/databinding/parser/XMLParser.java
rc/main/xml-gen/android/databinding/parser/XMLParser.tokens
rc/main/xml-gen/android/databinding/parser/XMLParserBaseListener.java
rc/main/xml-gen/android/databinding/parser/XMLParserBaseVisitor.java
rc/main/xml-gen/android/databinding/parser/XMLParserListener.java
rc/main/xml-gen/android/databinding/parser/XMLParserVisitor.java
rc/test/java/android/databinding/BindingExpressionParserTest.java
d911e414a989cad68befdeb554580d59ad81f04a 21-May-2015 Yigit Boyar <yboyar@google.com> Update version to rv0, disable debug logs
rc/main/java/android/databinding/tool/util/L.java
75da807698ae0f3b857d8160541cb03bb5ee1028 20-May-2015 Yigit Boyar <yboyar@google.com> Handle spaces in file paths

If file path has spaces, we were not handling them properly.
I've replaced the code with what android studio does so they
should be consistent.

Bug: 21283108
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
24ff3c01534a5e4dc9f65796009debe7fd87c1be 20-May-2015 Yigit Boyar <yboyar@google.com> Merge "Handle inter-expr dependencies properly"
7b07818f07c28c6dec34ca2a9ab5f61e86afb493 20-May-2015 Yigit Boyar <yboyar@google.com> Handle inter-expr dependencies properly

We had a bug where we would never be able to solve a case if there
are two expressions that trigger a circular dependency.

a ? b : c
b ? a : d

We actually had some logic to partially elevate conditional
dependencies but there were two issues with it:

* LayoutInflator was caching shouldReadFlags permanently
* There was a bug in how we resolve whether all potential evaluation
paths are covered. (we were not using a cloned bitset but rather
updating the original).

I've fixed these two issues and added logic to partially elevate
conditional expressions if they cannot be marked as fully read.

Bug: 21324645
Change-Id: I779afb6dae48920196404d3cfbb5f8774686404d
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/VersionProvider.java
rc/main/kotlin/android/databinding/tool/ext/ext.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
c96847768305d83c6bc4919432af9bd9bfe4c08e 20-May-2015 George Mount <mount@google.com> Fix String.format expression.

An expression @{String.format("%s", "test")} was failing
for two reasons: the L.d was doing string concatenation
and String wasn't imported and considered a StaticIdentifier.

Change-Id: I67b4c880f1e147a5c1aac15b3b845d4112c6d00b
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/test/java/android/databinding/tool/LayoutBinderTest.java
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
0ba9cf91183c16e18f8055e9d08a6618f4f60019 20-May-2015 Yigit Boyar <yboyar@google.com> Merge "Properly handle constant binding expressions"
8533f27db6c31b0c295ae62d314dbf07ea640571 19-May-2015 Yigit Boyar <yboyar@google.com> Properly handle constant binding expressions

Previously, we would assign each binding expression a flag id even
if it is constant. This was necessary to be able to implement
invalidateAll.

Later, we've changed how invalidateAll works and assigned it a separate
flag. Unfortunately, we were still incrementing ids for such binding
expressions, causing index out of bounds exceptions during code generation
in certain situations.

This CL fixes that bug and does not add flags to constant binding expressions
anymore.
Bug: 21284295
Change-Id: I114bf34520d0b246426ce7d45b8c511cf6709778
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/kotlin/android/databinding/tool/writer/CodeGenUtil.kt
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
b9e4aa96812692a7dcf468445e64bc5b30d3c79a 19-May-2015 George Mount <mount@google.com> Better handling of generics in BindingAdapters

Bug 21277338

Handle <T> adapter(View, T value)
Also test and fixes to support View<T> with multi-attribute
adapters.

Change-Id: I12bda5b235111762b55357fed7f163ccaf83838d
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/test/java/android/databinding/tool/reflection/java/JavaClass.java
9399cb4e3d86a88507fb06ad57661105b1eaa69a 17-May-2015 Yigit Boyar <yboyar@google.com> Configure dependencies using the plugin

This CL changes gradle plugin to automatically include necessary
dependencies for data binding. This way, just applying data
binding to a project will be sufficient.

I've also updated version to .9 to get ready for preview release

Bug: 21262586
Change-Id: I12ba64915e69b383b507d155c1a16267356e059b
uild.gradle
4cc84854a6a5e8eca4ba1cfe574d5a8092b598d6 15-May-2015 George Mount <mount@google.com> Remove unused getId from DataBinderMapper and BR.java
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
91d538470c011e19fa4375cc3531b5dd9ae01d55 15-May-2015 George Mount <mount@google.com> Fix generic setter on generic View.

When a View is generic (e.g. MyView<T>), and a setter takes
a generic parameter, the setter parameter didn't match the
argument.

Change-Id: I115ace5582b847bda792d75cf7aaf57ffc8bd4cd
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/test/java/android/databinding/tool/reflection/java/JavaClass.java
1bbaf7cdf7f9d93ae09365192abb2288cf0dfb41 15-May-2015 George Mount <mount@google.com> Always generate the DataBinderMapper.java class

When a project first enables data binding, it may
not have any layout files with binding expressions.
The DataBinderMapper class should be generated to
avoid a linking error.

Bug 19945740

Change-Id: I6d8e12649c71f88e59463d7cfb2d8f260ff1eb7c
rc/main/java/android/databinding/tool/CompilerChef.java
1331801c598a377a2c16e1aed8f975b728adc06e 14-May-2015 George Mount <mount@google.com> Give warning when BindingAdapter uses namespace.

Bug 20725101

Change-Id: Ia1cf0d5fc886a6e5ebc9090fefa77ea6f1e3ca46
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/java/android/databinding/tool/util/L.java
f6e8d6516561432dd1c0f3014be7405a5dcd251b 14-May-2015 George Mount <mount@google.com> Merge "Generate Binding class when <layout> exists."
3a756d564b245a3b38c27420ee9367a678533b8a 14-May-2015 George Mount <mount@google.com> Merge "Support default = value from binding expression."
1968106a8a54875ce14d24d857174cbb7f275142 14-May-2015 George Mount <mount@google.com> Support default = value from binding expression.

Bug 21133213

Change-Id: I6185d6d1a7eda2f199c34775fe2e67de1a0ef225
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
f701e1aa21a5ec74f4eb67030ced2704a90c7d5e 14-May-2015 Yigit Boyar <yboyar@google.com> Merge "Add webview, surface view and texture view"
5f3aae011cc291c2abbb90215c2e6f89a5f2626d 13-May-2015 George Mount <mount@google.com> Give an error if attribute is used when no setter is available.

Bug 20979710

This only prevents invalid setter calls for Views, not for
Bindings, such as used with includes.
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/store/SetterStore.java
76c4a0cae000a87a9b0e366a1475cafc76aad86a 13-May-2015 George Mount <mount@google.com> Merge "Don't strip bind: attributes without expressions."
4eb96071f10f4c65aaade8c8b76dc0bdc350f671 08-May-2015 George Mount <mount@google.com> Generate Binding class when <layout> exists.

Whenever a <layout> element exists we'll generate a Binding class.

Change-Id: I4f6ea25f4934b36cb617dbdd6a0f21bee1023a59
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
b60b44478336f8e6bdd7650d19299ef73fee24ba 13-May-2015 George Mount <mount@google.com> Merge "Fix bad arg to inflate."
f80b08430f11515ff944f89006799f21545602b9 13-May-2015 George Mount <mount@google.com> Fix bad arg to inflate.
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
a97508c49c11bbc92722192890ca43a3bf6d3036 13-May-2015 Yigit Boyar <yboyar@google.com> Add webview, surface view and texture view

We were missing these items from the list of packages which are not
in android.widget

Bug: 21091253
rc/main/java/android/databinding/tool/store/ResourceBundle.java
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
a520ca47348b6395cde787c8bb065008c9d48c62 11-May-2015 George Mount <mount@google.com> Don't strip bind: attributes without expressions.

Bug 20977115

Change-Id: Iff22b70eeccfaf9c9133248fb7aef7d76f31dc58
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
447971abca811b11b8c1d8e7bfaa294856d03c16 09-May-2015 George Mount <mount@google.com> Block executePendingBindings when there are no changes.

Change-Id: I427877749aa00a14c7c8b9363d6a9027ce48219e
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
c619d8f69127c1200103d8119101c5f0675661d0 01-May-2015 George Mount <mount@google.com> Have BindingMethod use Class instead of String.

Bug 20720873
rc/main/java/android/databinding/tool/store/SetterStore.java
30cc484507f3dfd7a3c56e5f785c4783e3e0da9d 30-Apr-2015 George Mount <mount@google.com> Add tool determining files that need stripping from artifact.

Also, modified the command line to take an optional parameter
[-l] to inform whether or not this is a library.

Change-Id: I6b1e96ae64bfa7ce2b2c685bbd64f0021a3bed42
rc/main/java/android/databinding/tool/LayoutXmlProcessor.java
rc/main/java/android/databinding/tool/MakeCopy.java
e9b33bac04bb1ce1444d7f1744fcec1ecd3a57da 30-Apr-2015 Yigit Boyar <yboyar@google.com> Support multi-param adapters in code generation

Bug: 19800022

Change-Id: I40c4ac72f24f965db12fd1c7dec6591184160ae5
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/MergedBinding.java
rc/main/java/android/databinding/tool/expr/ArgListExpr.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/kotlin/android/databinding/tool/writer/CodeGenUtil.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
cffffe30fe53455856d3d41724b9d5dd21aebf9a 28-Apr-2015 George Mount <mount@google.com> First stage in allowing multi-parameter BindingAdapters.

Allow multi-parameter binding adapters. These will affect
Views where multiple attributes are using expressions.
In this initial stage, BindingAdapters can be applied to
multiple attributes and the list of such binding adapters
can be retrieved.

Change-Id: I073393c215cd93d232fb1e3682641fdc31d994d2
rc/main/java/android/databinding/tool/store/SetterStore.java
ed6428586a939e00d9e66314d5cf1056ad48767e 30-Apr-2015 George Mount <mount@google.com> Add static method to get ViewDataBinding for a View.

Bug 20676836

Change-Id: I8690f64b395ceb06fd12daaadcb0f31d6629fc0b
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
9bdb2415487832e88a05c7bd19391b05440b468e 29-Apr-2015 George Mount <mount@google.com> Change from using Context to LayoutInflater for inflate()

When inflating, it is more efficient to use the LayoutInflater
directly instead of getting it from the Context.

I also changed DataBindingUtil.bindTo to bind to match the
static method call in the Binding classes.

Change-Id: I855297a4f081102c49ea477047c0ac81de1676f5
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
71dc4a20f0c80adc3a24a8df94258cb94e588a94 30-Apr-2015 Yigit Boyar <yboyar@google.com> Merge "Add base library prebuild, remove library.jar prebuild"
05196a205cdf3e074a452ba5a191c4e2a8e0b02f 29-Apr-2015 Yigit Boyar <yboyar@google.com> Merge "Sync dirty flags"
90500bef63679a6a1896bc740a4ab36a3a5029c0 29-Apr-2015 Yigit Boyar <yboyar@google.com> Merge "Move java-gen task to proper hook"
e725f0d81e1b07e88f819be9a82181eeeb680dbf 27-Apr-2015 George Mount <mount@google.com> Add listener to notify and disable rebinding.

The OnRebindListener allows the developer to be notified when
a reevaluation of the data binding is going to occur. It also
allows the developer to stop the reevaluation and manually
control when it will happen.

Change-Id: Id6cba294dc5d354a885303cdcd72471ccc57f056
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
1c44adacab2c1baa937a604da136024f1e92a088 29-Apr-2015 Yigit Boyar <yboyar@google.com> Sync dirty flags

This CL makes dirty flag tracking thread-safe

Bug: 20664668
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
be83770af82294c1841eef414513653646b88dc6 29-Apr-2015 Yigit Boyar <yboyar@google.com> Move java-gen task to proper hook

Bug: 20640611
rc/main/java/android/databinding/tool/LayoutXmlProcessor.java
rc/main/java/android/databinding/tool/MakeCopy.java
d33691a5725244f1bb5c4491af81b9fc67e0f39f 28-Apr-2015 George Mount <mount@google.com> Support using aliased classes as outer classes.

Bug 20350624
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
3eb32a3f28f4e27b5de23c3ee4d9f696a6accd7f 27-Apr-2015 George Mount <mount@google.com> Strip the <layout> tag without moving the inner layout.

Bug 20528764
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
d1369ca2b7114fa456293695f3850e5be5e6d21e 23-Apr-2015 Yigit Boyar <yboyar@google.com> Add placeholder flag for invalidate any
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
658c71b9ba3211ac5c10f261a8c6f38b1916d3bf 22-Apr-2015 Yigit Boyar <yboyar@google.com> Fix invalidate any flag.

This CL also adds a new build target to move folders to an EAP folder that
can be shipped to early access partners.
I've also changed the demo to use android emojis
rc/main/java/android/databinding/tool/expr/ExprModel.java
ae161289a90f6ac69ffe6411ac8c09653c81d04d 21-Apr-2015 Yigit Boyar <yboyar@google.com> Add base library prebuild, remove library.jar prebuild

Bug: 19945740
rc/main/java/android/databinding/tool/LayoutXmlProcessor.java
d7adbdab48fb8f894cb59073b864da8f5bafb8a9 20-Apr-2015 George Mount <mount@google.com> Fix merge failure.
rc/main/java/android/databinding/tool/reflection/ModelClass.java
11e3c78221d957e86be098255ccd0f8f28280cff 20-Apr-2015 George Mount <mount@google.com> Merge changes If9ddfd09,I310535e6

* changes:
Support array length.
Added some missing expressions.
8ec9696461abb5ad0b95024edc3f3ccb9ace85be 17-Apr-2015 George Mount <mount@google.com> Support array length.

Change-Id: If9ddfd09d7becc504741b8dd4f91332de944bfe1
rc/main/java/android/databinding/tool/reflection/ModelClass.java
c6bcb7bf9cab139b3141c4644e5b3267deed5213 20-Apr-2015 George Mount <mount@google.com> Added some missing expressions.

unary: +/-/~/!
shift: >>/>>>/<<
logical: &&/||
bit: &/|/^
instanceof

Change-Id: I310535e67c8fda2f067a62079e1b609a11bda741
rc/main/java/android/databinding/tool/ExpressionVisitor.java
rc/main/java/android/databinding/tool/expr/BitShiftExpr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/InstanceOfExpr.java
rc/main/java/android/databinding/tool/expr/UnaryExpr.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
019c36b97c7c172ac03997f6bf170e65b2ed7fe4 17-Apr-2015 Yigit Boyar <yboyar@google.com> Fix how final fields are handled

There was a bug in Expression analyzer where if a field is final,
it would return dynamic=false although its parent is dynamic.

This CL changes that behavior such that if the parent of a field
access is dynamic, then field access is dynamic unless it is
static & final.
If parent is not dynamic, (e.g. android.view.View) field is
dynamic if an only if itself is dynamic.

This CL also fixes another bug where if you have a bunch of
expressions none of which can be invalidated, there would not
be any flags to set thus we would not generate proper if statements.
We were resolving tree properly but code-generation never worked
in that situation. To overcome this issue, since there should always
be a way to invalidate all bindings, I've added a flag to invalidate
all, which is automatically included in each invalidate flag set.
This does not bring any serious cost because we have flag inheritance
in the generated code.

I've also removed some code from LayoutBinderWriter that may create
duplicate names. This was failing a test where a variable and View
were given the same names. I changed these name uniqueness to be
scope based so that we can create most readable w/o sacrificing
correctness.

Bug: 20341011
Change-Id: I0e98a5e28f250c36ae5de306f5ed99adffd20b59
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/java/android/databinding/tool/expr/MethodCallExpr.java
rc/main/java/android/databinding/tool/reflection/Callable.java
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
rc/test/java/android/databinding/tool/expr/ExprTest.java
ee7586713d68806b556a425cbebf007a56261ff3 17-Apr-2015 Yigit Boyar <yboyar@google.com> Add 3rd party licenses to fatJar

This CL adds 3rd party licenses to compiler-fatJar so that
we can use it in our build process w/o maven dependency.

It also removes dependency on SDK folder for api level lookup
by shipping versions.xml file with the bundle.

It adds a new gradle task, preparePrebuilds, which bundsles
all necessary builds to a prebuild folder which should be
committed. These pre-builds will be used by the makefile to
support make builds.

Bug: 19945740
Change-Id: I0bba72bbb13770aba94317301217ddd842211e2d
uild.gradle
rc/main/java/android/databinding/tool/LayoutXmlProcessor.java
rc/main/java/android/databinding/tool/MakeCopy.java
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/reflection/SdkUtil.java
rc/main/resources/api-versions.xml
rc/test/java/android/databinding/tool/SdkVersionTest.java
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
rc/test/java/android/databinding/tool/reflection/SdkVersionTest.java
3b8fedce6e9ee814ffe7b63d07aa5456f08fb9b2 15-Apr-2015 George Mount <mount@google.com> Parse and strip new layout format.

API Council suggested a new layout format for layouts with
bindings. Here, we parse the new format and strip it. This
also brings in the ability to provide a custom class name
for the binding.

Change-Id: I674320d21265c1dec70d1a52285341fe4994895b
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
rc/main/java/android/databinding/tool/store/ResourceBundle.java
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
7ff60c24c6de7ba0c674fe65a82ad4a88dab2e5d 13-Apr-2015 George Mount <mount@google.com> Delay evaluating the View and Binding class names.

Binding and View class names should be evaluated when processing
the binding expressions, not during layout XML processing.

Allow alternate binding class names as declared in layout
XML.

Use "binding_" as a prefix for binding tags instead of "bindingTag"

Preparation steps for customized data binding classes.

Change-Id: If08de28aad06401e8a5d461341b2616e17498aa1
rc/main/java/android/databinding/tool/DataBinder.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
rc/main/java/android/databinding/tool/store/ResourceBundle.java
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/MockLayoutBinder.java
96e1c821dd446d1ed78f8ae61131550588f60a24 10-Apr-2015 George Mount <mount@google.com> Support merge tags.

This also drops the requirement for include tags to have an ID.

Each root view tag is given a numeric suffix, starting with 0.
Merge tags can have multiple roots, the first of which always
is suffixed with 0. The remainder have tag identifiers that
are interspersed with the tags used with expressions. The
numeric suffix is used to identify the View in the mapBindings
call.

Include tag information now uses the tag of its parent so that
its parent will search for the includes within it. When
mapBindings is looking at the parent, it looks for all direct
children with the appropriate tag of the format "layout*/name_0".
Then it searches for all siblings with the same prefix and different
numeric suffixes. Any that are found are considered part of the
same merged include. If it finds another with _0, it knows that
a new include was found.

Change-Id: Idd1144d9037648193724667320744bd079791476
rc/main/java/android/databinding/tool/CompilerChef.java
rc/main/java/android/databinding/tool/DataBinder.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/expr/SymbolExpr.java
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
rc/main/java/android/databinding/tool/store/ResourceBundle.java
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/MockLayoutBinder.java
29eed96672ca43d68d12605ad6f91814d4c53988 13-Apr-2015 George Mount <mount@google.com> Fix test breaks.
rc/test/java/android/databinding/tool/MockLayoutBinder.java
f3157e94d415c1723be2535eec830f19db6a65a9 07-Apr-2015 George Mount <mount@google.com> Fix merge error.
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
0390898cf7c4fcad255e8cfd6802f722b516cb2c 03-Apr-2015 George Mount <mount@google.com> Use layout path for the tag on bound layout roots.

Change-Id: I6bda5d5716e749251b27c112865da066ba908509
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/LayoutXmlProcessor.java
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
rc/main/java/android/databinding/tool/store/ResourceBundle.java
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
d8c8ec27ed2ec0b11fa37f476395ce27834471f0 05-Apr-2015 Yigit Boyar <yboyar@google.com> Fix ternary handling and generate better code

This CL fixes an issue about ternary expressions where
a ternary expression would be evaluated with its last
evaluated dependency. This would create a problem where
ternary expressions would not be evaluated if other branch
of the conditional is chosen, This bug is fixed by checking
outher flags such that we'll still calculate it together
if all dependencies are behind the same flag vs we'll
calculate it independently if its dependency flags are different.

This CL also improves the generated code in two ways:
- When there is an if inside if, we don't add flag check (the if)
if all of its conditions are covered in the parent if.
- I replaced flag names with binary values. This looks more
readable then generated names.

Bug: 20073197
Change-Id: I9d07868206a5393d6509ab0a205b30a796e11107
rc/main/java/android/databinding/tool/writer/FlagSet.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
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
rc/main/java/android/databinding/tool/ExpressionVisitor.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
2e2043d30f95585de2069e1cbb23e022ab0e71c4 02-Apr-2015 George Mount <mount@google.com> Change "generated" to "databinding"
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
e7c2a5e45d7651899790bd347da635875f9c73fb 02-Apr-2015 George Mount <mount@google.com> Use setTag(id, val) when minSdk is ICS and later.

setTag(id, val) leaks on versions before ICS. When the
minimum SDK is before ICS, setTag(val) must be used
for bindings. However, this prevents the developer from
using the tag for his or her own purposes. Therefore,
if the minimum SDK is ICS and greater, setTag(id, val)
is used.

Change-Id: I46327084bde4bafc05a64f82ad5ebcf710820ecc
rc/main/java/android/databinding/tool/CompilerChef.java
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
53398fcd565782a0fd973eec43eac5c659c927c0 01-Apr-2015 George Mount <mount@google.com> Address comment in CL

Bug 19933646
rc/main/java/android/databinding/tool/LayoutBinder.java
125f08f32dbe73b457768aeca4accfbc44dd44b6 01-Apr-2015 George Mount <mount@google.com> Don't use reflection for DataBinderMapper.

By having a concrete implementation of DataBinderMapper in the
library and then stripping it out, the generated DataBinderMapper
may be instantiated without reflection.
rc/main/java/android/databinding/tool/CompilerChef.java
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
95d1b38adeb5963ec5337e7dd6177b4bb5a03619 01-Apr-2015 George Mount <mount@google.com> Capture views with IDs and no expressions in Binding.

We want to get all Views with IDs in the Binding to save the
developer effort in calling findViewById.

Change-Id: Ib7dd85ae9ecc0fd31b235364c0eadc2303dd1780
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
dea555cf42dc3583604699c8c018d22681f56166 30-Mar-2015 George Mount <mount@google.com> Merge implementation into base class for single implementations.

Bug 19933646

Change-Id: Ifc947d929b5275e32598e8d40f0122504a99d7f8
rc/main/java/android/databinding/tool/CompilerChef.java
rc/main/java/android/databinding/tool/DataBinder.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
61630faa88ee4817834d47294a0e17f19d8e1c51 30-Mar-2015 George Mount <mount@google.com> Require only one pass to make BR.java file.

Bug 19985005

Because the generation of Binding files created @Bindable
annotations, the BR file generation had to wait until a
second annotation pass. This caused errors to be generated
that were later cleared, causing confusion. I moved the
BR file generation to the same annotation processing stage
that generates the Binding files to clear up the error
generation.

TODO: merge the annotation processing stages so that there
is less cross-talk between annotation processors.
rc/main/java/android/databinding/tool/CompilerChef.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
de38dd3ef0577d25b2d59863603abe5750d0c231 28-Mar-2015 George Mount <mount@google.com> Make ViewStub support binding variables like include.

Bug 19969378
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/reflection/ModelAnalyzer.java
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/store/ResourceBundle.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
34a18e6a231f3b64726bd93e7e097a0d5a75995d 26-Mar-2015 George Mount <mount@google.com> Move to public final fields instead of getters for Views.

Bug 19933644
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/store/ResourceBundle.java
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
fead9ca09b117136b35bc5bf137340a754f9eddd 23-Mar-2015 George Mount <mount@google.com> Move to package android.databinding.
rc/main/java/android/databinding/tool/Binding.java
rc/main/java/android/databinding/tool/BindingTarget.java
rc/main/java/android/databinding/tool/CompilerChef.java
rc/main/java/android/databinding/tool/DataBinder.java
rc/main/java/android/databinding/tool/ExpressionParser.java
rc/main/java/android/databinding/tool/ExpressionVisitor.java
rc/main/java/android/databinding/tool/LayoutBinder.java
rc/main/java/android/databinding/tool/LayoutXmlProcessor.java
rc/main/java/android/databinding/tool/MakeCopy.java
rc/main/java/android/databinding/tool/expr/BracketExpr.java
rc/main/java/android/databinding/tool/expr/CastExpr.java
rc/main/java/android/databinding/tool/expr/ComparisonExpr.java
rc/main/java/android/databinding/tool/expr/Dependency.java
rc/main/java/android/databinding/tool/expr/Expr.java
rc/main/java/android/databinding/tool/expr/ExprModel.java
rc/main/java/android/databinding/tool/expr/FieldAccessExpr.java
rc/main/java/android/databinding/tool/expr/GroupExpr.java
rc/main/java/android/databinding/tool/expr/IdentifierExpr.java
rc/main/java/android/databinding/tool/expr/MathExpr.java
rc/main/java/android/databinding/tool/expr/MethodCallExpr.java
rc/main/java/android/databinding/tool/expr/ResourceExpr.java
rc/main/java/android/databinding/tool/expr/StaticIdentifierExpr.java
rc/main/java/android/databinding/tool/expr/SymbolExpr.java
rc/main/java/android/databinding/tool/expr/TernaryExpr.java
rc/main/java/android/databinding/tool/reflection/Callable.java
rc/main/java/android/databinding/tool/reflection/ModelAnalyzer.java
rc/main/java/android/databinding/tool/reflection/ModelClass.java
rc/main/java/android/databinding/tool/reflection/ModelField.java
rc/main/java/android/databinding/tool/reflection/ModelMethod.java
rc/main/java/android/databinding/tool/reflection/SdkUtil.java
rc/main/java/android/databinding/tool/reflection/TypeUtil.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationField.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationMethod.java
rc/main/java/android/databinding/tool/reflection/annotation/AnnotationTypeUtil.java
rc/main/java/android/databinding/tool/store/LayoutFileParser.java
rc/main/java/android/databinding/tool/store/ResourceBundle.java
rc/main/java/android/databinding/tool/store/SetterStore.java
rc/main/java/android/databinding/tool/util/GenerationalClassUtil.java
rc/main/java/android/databinding/tool/util/L.java
rc/main/java/android/databinding/tool/writer/AnnotationJavaFileWriter.java
rc/main/java/android/databinding/tool/writer/FlagSet.java
rc/main/java/android/databinding/tool/writer/JavaFileWriter.java
rc/main/java/com/android/databinding/Binding.java
rc/main/java/com/android/databinding/BindingTarget.java
rc/main/java/com/android/databinding/CompilerChef.java
rc/main/java/com/android/databinding/DataBinder.java
rc/main/java/com/android/databinding/ExpressionParser.java
rc/main/java/com/android/databinding/ExpressionVisitor.java
rc/main/java/com/android/databinding/LayoutBinder.java
rc/main/java/com/android/databinding/LayoutXmlProcessor.java
rc/main/java/com/android/databinding/MakeCopy.java
rc/main/java/com/android/databinding/expr/BracketExpr.java
rc/main/java/com/android/databinding/expr/CastExpr.java
rc/main/java/com/android/databinding/expr/ComparisonExpr.java
rc/main/java/com/android/databinding/expr/Dependency.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/expr/GroupExpr.java
rc/main/java/com/android/databinding/expr/IdentifierExpr.java
rc/main/java/com/android/databinding/expr/MathExpr.java
rc/main/java/com/android/databinding/expr/MethodCallExpr.java
rc/main/java/com/android/databinding/expr/ResourceExpr.java
rc/main/java/com/android/databinding/expr/StaticIdentifierExpr.java
rc/main/java/com/android/databinding/expr/SymbolExpr.java
rc/main/java/com/android/databinding/expr/TernaryExpr.java
rc/main/java/com/android/databinding/reflection/Callable.java
rc/main/java/com/android/databinding/reflection/ModelAnalyzer.java
rc/main/java/com/android/databinding/reflection/ModelClass.java
rc/main/java/com/android/databinding/reflection/ModelField.java
rc/main/java/com/android/databinding/reflection/ModelMethod.java
rc/main/java/com/android/databinding/reflection/SdkUtil.java
rc/main/java/com/android/databinding/reflection/TypeUtil.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationClass.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationField.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationMethod.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationTypeUtil.java
rc/main/java/com/android/databinding/store/LayoutFileParser.java
rc/main/java/com/android/databinding/store/ResourceBundle.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/java/com/android/databinding/util/GenerationalClassUtil.java
rc/main/java/com/android/databinding/util/L.java
rc/main/java/com/android/databinding/writer/AnnotationJavaFileWriter.java
rc/main/java/com/android/databinding/writer/FlagSet.java
rc/main/java/com/android/databinding/writer/JavaFileWriter.java
rc/main/kotlin/android/databinding/tool/ext/ext.kt
rc/main/kotlin/android/databinding/tool/ext/list_ext.kt
rc/main/kotlin/android/databinding/tool/ext/node_ext.kt
rc/main/kotlin/android/databinding/tool/util/Log.kt
rc/main/kotlin/android/databinding/tool/util/ParserHelper.kt
rc/main/kotlin/android/databinding/tool/util/XmlEditor.kt
rc/main/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
rc/main/kotlin/android/databinding/tool/writer/KCode.kt
rc/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
rc/main/kotlin/com/android/databinding/ext/ext.kt
rc/main/kotlin/com/android/databinding/ext/list_ext.kt
rc/main/kotlin/com/android/databinding/ext/node_ext.kt
rc/main/kotlin/com/android/databinding/util/Log.kt
rc/main/kotlin/com/android/databinding/util/ParserHelper.kt
rc/main/kotlin/com/android/databinding/util/XmlEditor.kt
rc/main/kotlin/com/android/databinding/writer/DataBinderWriter.kt
rc/main/kotlin/com/android/databinding/writer/KCode.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/android/databinding/CallbackRegistryTest.java
rc/test/java/android/databinding/tool/ExpressionVisitorTest.java
rc/test/java/android/databinding/tool/LayoutBinderTest.java
rc/test/java/android/databinding/tool/MockLayoutBinder.java
rc/test/java/android/databinding/tool/SdkVersionTest.java
rc/test/java/android/databinding/tool/expr/ExprModelTest.java
rc/test/java/android/databinding/tool/expr/ExprTest.java
rc/test/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
rc/test/java/android/databinding/tool/reflection/java/JavaClass.java
rc/test/java/android/databinding/tool/reflection/java/JavaField.java
rc/test/java/android/databinding/tool/reflection/java/JavaMethod.java
rc/test/java/android/databinding/tool/reflection/java/JavaTypeUtil.java
rc/test/java/android/databinding/tool/writer/FlagSetTest.java
rc/test/java/com/android/databinding/ExpressionVisitorTest.java
rc/test/java/com/android/databinding/LayoutBinderTest.java
rc/test/java/com/android/databinding/MockLayoutBinder.java
rc/test/java/com/android/databinding/SdkVersionTest.java
rc/test/java/com/android/databinding/expr/ExprModelTest.java
rc/test/java/com/android/databinding/expr/ExprTest.java
rc/test/java/com/android/databinding/reflection/java/JavaAnalyzer.java
rc/test/java/com/android/databinding/reflection/java/JavaClass.java
rc/test/java/com/android/databinding/reflection/java/JavaField.java
rc/test/java/com/android/databinding/reflection/java/JavaMethod.java
rc/test/java/com/android/databinding/reflection/java/JavaTypeUtil.java
rc/test/java/com/android/databinding/writer/FlagSetTest.java
69362b5b63875987b050354b6852db76cb799d8c 12-Mar-2015 George Mount <mount@google.com> Created command line method to be invoked by make.

make needs some means for copying resource files, stripping them,
and generating the intermediate java/xml files. This calls into
the same code used by the gradle plugin to do it. When aapt
work has completed, this can be removed entirely and replaced
by a simple shell script.

Change-Id: Ie6e1fda8fa27892cc74a13f1404ab064f6210270
rc/main/java/com/android/databinding/MakeCopy.java
fa9fe12980ef1103fabe33bf5ff0e2f53042a204 18-Mar-2015 George Mount <mount@google.com> Move common parts of AnnotationAnalyzer methods to ModelAnalyzer.

Bug 19643846
Bug 19627630

Also made it so that setter methods will auto-cast from Object
when necessary. This is useful for heterogenous map objects
where .get(id) may return an Integer or a String or a Drawable.

Change-Id: Iacfd739ea4938f38b584a8eab9193f1fd4071df1
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/expr/MethodCallExpr.java
rc/main/java/com/android/databinding/reflection/ModelAnalyzer.java
rc/main/java/com/android/databinding/reflection/ModelClass.java
rc/main/java/com/android/databinding/reflection/ModelField.java
rc/main/java/com/android/databinding/reflection/ModelMethod.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationClass.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationField.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationMethod.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/test/java/com/android/databinding/reflection/java/JavaAnalyzer.java
rc/test/java/com/android/databinding/reflection/java/JavaClass.java
rc/test/java/com/android/databinding/reflection/java/JavaField.java
rc/test/java/com/android/databinding/reflection/java/JavaMethod.java
a6e4583962e19e8e93b4ca3f9fe3d34560b6d96c 13-Mar-2015 Yigit Boyar <yboyar@google.com> Support for multi module setups

This CL adds support for building multi module apps
with proper context.

For library modules, we only generate base classes in the initial
compilation. We also generate a temporary BR file which does
not have final methods.

When final app is being generated, all layout binders, adapters
and Bindable information gets merged and all final classes
are generated in their appropriate packages.

This CL also adds support for Test runs and any
number of build variants.

Bug: 19714904
Change-Id: I9b50b54db05f3fa206eec33709d43c2ac94a9e5e
rc/main/java/com/android/databinding/LayoutBinder.java
rc/main/java/com/android/databinding/LayoutXmlProcessor.java
rc/main/java/com/android/databinding/reflection/ModelAnalyzer.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/store/LayoutFileParser.java
rc/main/java/com/android/databinding/store/ResourceBundle.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/java/com/android/databinding/util/GenerationalClassUtil.java
rc/main/java/com/android/databinding/writer/AnnotationJavaFileWriter.java
rc/main/java/com/android/databinding/writer/JavaFileWriter.java
rc/main/kotlin/com/android/databinding/ext/ext.kt
rc/main/kotlin/com/android/databinding/util/XmlEditor.kt
rc/main/kotlin/com/android/databinding/writer/DataBinderWriter.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/com/android/databinding/MockLayoutBinder.java
rc/test/java/com/android/databinding/reflection/java/JavaAnalyzer.java
4c5cc009bcbcfb19e33fb19db5ec80f83f7b3326 12-Mar-2015 George Mount <mount@google.com> Use abstract base class instead of interfaces for Binding objects.

Bug 19627511
Bug 19709604

Changed generated classes to end with "Binding" instead of "Binder"
to avoid confusion with Android Binders.

Removed DataBinder class and moved the important aspects of its
contents to ViewDataBinding.

Improved mapping of Views in included layouts. Avoid traversing
included layouts while looking for bound expressions.

Change-Id: I1f28093b0792d5428d07192f1fc458a5b4b788b2
rc/main/java/com/android/databinding/LayoutBinder.java
rc/main/java/com/android/databinding/reflection/ModelAnalyzer.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/store/LayoutFileParser.java
rc/main/java/com/android/databinding/store/ResourceBundle.java
rc/main/kotlin/com/android/databinding/writer/DataBinderWriter.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/com/android/databinding/reflection/java/JavaAnalyzer.java
e421e29d1e20d73fb1275ec0d916e4c6ad8a3893 13-Mar-2015 Yigit Boyar <yboyar@google.com> Move configuration values into a config file

Change-Id: I7055c109cb04ae2ae375c2126c2a70fa52e85e31
uild.gradle
f9e51c010bd2eab9cca01baaccc0e5a73b8b72c9 12-Mar-2015 Yigit Boyar <yboyar@google.com> Restructure project for test apps

This CL updates project to use a local maven repo.
(local as in near source code w/ relative path).
This is necessary to have multiple versions of the
project on the same computer also provides better
separation.

I also moved integration tests to depend on these
because we cannot build the compiler and test app at
the same project.

I've changed library plugin's jar to be a separate
upload task to avoid some build issues in TestApp
when we release a @jar and @aar with same group and
artifact ids.

This CL also adds some convenience methods to
gradle build script to run all tests, prepare maven
repo, run integration tests etc. These were needed
to do CI.

Bug: 19718690
Change-Id: I3c80e09fe7c8c2780ca00c3e9b9ba99a162531cf
uild.gradle
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
895b618d9c6e3deb56465d0759cda57f50c46214 12-Mar-2015 Yigit Boyar <yboyar@google.com> Downgrade to java 1.6

This CL removes java 1.7 code so that we can easily integrate
w/ Idea.

It also partially removes dependency on ModelAnalyzer for
interface generation so that we can call it from the Idea
plugin.

Change-Id: Id7616987f5660911e951ddf20dacd4f407dacbd9
uild.gradle
rc/main/java/com/android/databinding/BindingTarget.java
rc/main/java/com/android/databinding/DataBinder.java
rc/main/java/com/android/databinding/ExpressionVisitor.java
rc/main/java/com/android/databinding/LayoutBinder.java
rc/main/java/com/android/databinding/LayoutXmlProcessor.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/IdentifierExpr.java
rc/main/java/com/android/databinding/expr/MethodCallExpr.java
rc/main/java/com/android/databinding/expr/ResourceExpr.java
rc/main/java/com/android/databinding/reflection/ModelAnalyzer.java
rc/main/java/com/android/databinding/reflection/SdkUtil.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationClass.java
rc/main/java/com/android/databinding/store/LayoutFileParser.java
rc/main/java/com/android/databinding/store/ResourceBundle.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/util/ParserHelper.kt
rc/main/kotlin/com/android/databinding/writer/KCode.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/com/android/databinding/MockLayoutBinder.java
rc/test/java/com/android/databinding/reflection/java/JavaAnalyzer.java
rc/test/java/com/android/databinding/reflection/java/JavaClass.java
97d6ddf47f4ff1abb3ed5201ce5232163f5325b1 04-Mar-2015 Yigit Boyar <yboyar@google.com> Check API version for methods called via binding

In data binding, setting an attribute actually means calling a method, which might be
an issue if the method is added after a certain API.

This CL introduces a change which will check called methods per api and add necessary
API check code to avoid calling those methods in older platforms.

This CL also resurrects the Java Model Analyzer (in testing) and also fixes compiler tests.

Bug: 19593398
Change-Id: I0da4194625231cf43125e1b43338069e7d191eb9
uild.gradle
rc/main/java/com/android/databinding/Binding.java
rc/main/java/com/android/databinding/DataBinder.java
rc/main/java/com/android/databinding/LayoutXmlProcessor.java
rc/main/java/com/android/databinding/reflection/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/reflection/AnnotationClass.java
rc/main/java/com/android/databinding/reflection/AnnotationField.java
rc/main/java/com/android/databinding/reflection/AnnotationMethod.java
rc/main/java/com/android/databinding/reflection/ModelAnalyzer.java
rc/main/java/com/android/databinding/reflection/ModelClass.java
rc/main/java/com/android/databinding/reflection/ModelMethod.java
rc/main/java/com/android/databinding/reflection/SdkUtil.java
rc/main/java/com/android/databinding/reflection/TypeUtil.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationClass.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationField.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationMethod.java
rc/main/java/com/android/databinding/reflection/annotation/AnnotationTypeUtil.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/java/com/android/databinding/util/L.java
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/com/android/databinding/ExpressionVisitorTest.java
rc/test/java/com/android/databinding/LayoutBinderTest.java
rc/test/java/com/android/databinding/MockBindable.java
rc/test/java/com/android/databinding/MockIViewDataBinder.java
rc/test/java/com/android/databinding/MockLayoutBinder.java
rc/test/java/com/android/databinding/MockObservable.java
rc/test/java/com/android/databinding/MockObservableLsit.java
rc/test/java/com/android/databinding/MockObservableMap.java
rc/test/java/com/android/databinding/SdkVersionTest.java
rc/test/java/com/android/databinding/expr/ExprModelTest.java
rc/test/java/com/android/databinding/expr/ExprTest.java
rc/test/java/com/android/databinding/reflection/java/JavaAnalyzer.java
rc/test/java/com/android/databinding/reflection/java/JavaClass.java
rc/test/java/com/android/databinding/reflection/java/JavaField.java
rc/test/java/com/android/databinding/reflection/java/JavaMethod.java
rc/test/java/com/android/databinding/reflection/java/JavaTypeUtil.java
2feec49448ca1bb31675b22c25d4ae31961cbbd5 05-Mar-2015 George Mount <mount@google.com> Support bracket expressions for SparseArray.

Also support single-quotes for XML attributes.
rc/main/java/com/android/databinding/reflection/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/reflection/AnnotationClass.java
rc/main/kotlin/com/android/databinding/util/XmlEditor.kt
00da715547ee7d5d38a3b8576090ca427a94daa5 04-Mar-2015 George Mount <mount@google.com> Don't require IDs for most bound views.
rc/main/java/com/android/databinding/BindingTarget.java
rc/main/java/com/android/databinding/reflection/AnnotationClass.java
rc/main/java/com/android/databinding/store/LayoutFileParser.java
rc/main/java/com/android/databinding/store/ResourceBundle.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/util/XmlEditor.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
8e5d3b4aa4e47fc0150b4a26b58ec6e5c17b9d16 25-Feb-2015 George Mount <mount@google.com> Move expression parsing to Annotation Processing stage.

Change-Id: Ibf1e9c02856212c20300f10e4c63b96ec33b7a13
uild.gradle
rc/main/java/com/android/databinding/CompilerChef.java
rc/main/java/com/android/databinding/DataBinder.java
rc/main/java/com/android/databinding/ExpressionVisitor.java
rc/main/java/com/android/databinding/LayoutXmlProcessor.java
rc/main/java/com/android/databinding/expr/BracketExpr.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/expr/MethodCallExpr.java
rc/main/java/com/android/databinding/reflection/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/reflection/AnnotationClass.java
rc/main/java/com/android/databinding/store/LayoutFileParser.java
rc/main/java/com/android/databinding/store/ResourceBundle.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/util/XmlEditor.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
37cd0236216489d15d446543b39d59509401e1a7 24-Feb-2015 George Mount <mount@google.com> Add fraction resource parameters.
rc/main/java/com/android/databinding/expr/ResourceExpr.java
ae7cb82316e351c488ee3b9c7226602321f34301 24-Feb-2015 George Mount <mount@google.com> Add quantity and format string easy formats.
rc/main/java/com/android/databinding/ExpressionVisitor.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/ResourceExpr.java
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
a7e767e576adebcddf043ad34ccb8dd167f777b3 20-Feb-2015 George Mount <mount@google.com> Added support for imports in type checking.

findType did not support user-defined imports, so casting,
for example, of Foo<String> didn't recognize Foo or String.
This also will import java.lang.* by default.
rc/main/java/com/android/databinding/Binding.java
rc/main/java/com/android/databinding/BindingTarget.java
rc/main/java/com/android/databinding/LayoutBinder.java
rc/main/java/com/android/databinding/expr/CastExpr.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/IdentifierExpr.java
rc/main/java/com/android/databinding/expr/ResourceExpr.java
rc/main/java/com/android/databinding/reflection/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/reflection/AnnotationMethod.java
rc/main/java/com/android/databinding/reflection/ModelAnalyzer.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/com/android/databinding/LayoutBinderTest.java
a70fed6415aa1e8bbbe929aee776402ac3b81c86 20-Feb-2015 George Mount <mount@google.com> Fix broken static import with alias.

Added tests to ensure they don't break again.
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/expr/MethodCallExpr.java
rc/main/java/com/android/databinding/expr/StaticAccessExpr.java
rc/main/java/com/android/databinding/expr/StaticIdentifierExpr.java
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/com/android/databinding/ExpressionVisitorTest.java
rc/test/java/com/android/databinding/LayoutBinderTest.java
18243f6f1b7527272ef4feccdf4327d80d9f2241 19-Feb-2015 George Mount <mount@google.com> Support static method and field access and improve method finding.

Bug 19425630
Bug 19336295

Change-Id: I4c04db32492edfa093e94c3c15bf7799128b1e03
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/expr/IdentifierExpr.java
rc/main/java/com/android/databinding/expr/MethodCallExpr.java
rc/main/java/com/android/databinding/expr/StaticAccessExpr.java
rc/main/java/com/android/databinding/reflection/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/reflection/AnnotationClass.java
rc/main/java/com/android/databinding/reflection/ModelAnalyzer.java
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
e4b93061ac703e48fc2c9994c9059ed016f05559 18-Feb-2015 George Mount <mount@google.com> Support casting operation in binding expressions.

Bug 19272385

Change-Id: I5a992f4eaf6f456d21983481ab4ca01305582f36
rc/main/java/com/android/databinding/ExpressionVisitor.java
rc/main/java/com/android/databinding/expr/CastExpr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/reflection/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/reflection/AnnotationClass.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
79fc7f3727815ab35bb1bb2e060bfb7db3176eed 18-Feb-2015 George Mount <mount@google.com> Removed reflection-based implementations and renamed classes.

Renamed Model* classes to Annotation*
Renamed Reflection* classes to Model*
Removed Class* classes -- they are no longer needed.

The names were confusing. I think this is better.
rc/main/java/com/android/databinding/Binding.java
rc/main/java/com/android/databinding/BindingTarget.java
rc/main/java/com/android/databinding/ExpressionVisitor.java
rc/main/java/com/android/databinding/expr/BracketExpr.java
rc/main/java/com/android/databinding/expr/ComparisonExpr.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/expr/GroupExpr.java
rc/main/java/com/android/databinding/expr/IdentifierExpr.java
rc/main/java/com/android/databinding/expr/MathExpr.java
rc/main/java/com/android/databinding/expr/MethodCallExpr.java
rc/main/java/com/android/databinding/expr/ResourceExpr.java
rc/main/java/com/android/databinding/expr/SymbolExpr.java
rc/main/java/com/android/databinding/expr/TernaryExpr.java
rc/main/java/com/android/databinding/reflection/AnnotationAnalyzer.java
rc/main/java/com/android/databinding/reflection/AnnotationClass.java
rc/main/java/com/android/databinding/reflection/AnnotationField.java
rc/main/java/com/android/databinding/reflection/AnnotationMethod.java
rc/main/java/com/android/databinding/reflection/Callable.java
rc/main/java/com/android/databinding/reflection/ClassAnalyzer.java
rc/main/java/com/android/databinding/reflection/ClassClass.java
rc/main/java/com/android/databinding/reflection/ClassField.java
rc/main/java/com/android/databinding/reflection/ClassMethod.java
rc/main/java/com/android/databinding/reflection/ModelAnalyzer.java
rc/main/java/com/android/databinding/reflection/ModelClass.java
rc/main/java/com/android/databinding/reflection/ModelField.java
rc/main/java/com/android/databinding/reflection/ModelMethod.java
rc/main/java/com/android/databinding/reflection/ReflectionAnalyzer.java
rc/main/java/com/android/databinding/reflection/ReflectionClass.java
rc/main/java/com/android/databinding/reflection/ReflectionField.java
rc/main/java/com/android/databinding/reflection/ReflectionMethod.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/ext/ext.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/com/android/databinding/ExpressionVisitorTest.java
rc/test/java/com/android/databinding/LayoutBinderTest.java
rc/test/java/com/android/databinding/expr/ExprModelTest.java
rc/test/java/com/android/databinding/expr/ExprTest.java
1b9940e612fc73202837fbe9db2f9035f307b5d1 11-Feb-2015 George Mount <mount@google.com> Move expression generation to annotation processor.
rc/main/java/com/android/databinding/CompilerChef.java
rc/main/java/com/android/databinding/DataBinder.java
rc/main/java/com/android/databinding/reflection/ClassAnalyzer.java
rc/main/java/com/android/databinding/reflection/ClassMethod.java
rc/main/java/com/android/databinding/reflection/ModelAnalyzer.java
rc/main/java/com/android/databinding/reflection/ModelClass.java
rc/main/java/com/android/databinding/reflection/ModelField.java
rc/main/java/com/android/databinding/reflection/ModelMethod.java
rc/main/java/com/android/databinding/reflection/ReflectionAnalyzer.java
rc/main/java/com/android/databinding/reflection/ReflectionField.java
rc/main/java/com/android/databinding/reflection/ReflectionMethod.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/java/com/android/databinding/writer/AnnotationJavaFileWriter.java
rc/main/java/com/android/databinding/writer/FileWriter.java
rc/main/java/com/android/databinding/writer/JavaFileWriter.java
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
b134dd773c386246ee8b692fbc4f063945e88ec5 11-Feb-2015 Yigit Boyar <yboyar@google.com> Allow chef to be created from bundle

Change-Id: If5b00a98684803cdd46547b9a94c961fe0bbf4e3
rc/main/java/com/android/databinding/CompilerChef.java
rc/main/java/com/android/databinding/DataBinder.java
rc/main/java/com/android/databinding/store/ResourceBundle.java
rc/main/java/com/android/databinding/writer/FileWriter.java
rc/main/java/com/android/databinding/writer/FileWriterImpl.java
3bd87eef217d80a233677d7e267224d0ed3c2c55 10-Feb-2015 Yigit Boyar <yboyar@google.com> Separate resource parser

Change-Id: I3b5f44b48269130834d013425dbaf79fe084c855
uild.gradle
rc/main/java/com/android/databinding/BindingTarget.java
rc/main/java/com/android/databinding/CompilerChef.java
rc/main/java/com/android/databinding/DataBinder.java
rc/main/java/com/android/databinding/LayoutBinder.java
rc/main/java/com/android/databinding/store/LayoutFileParser.java
rc/main/java/com/android/databinding/store/ResourceBundle.java
rc/main/java/com/android/databinding/writer/FileWriter.java
rc/main/java/com/android/databinding/writer/FileWriterImpl.java
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/util/ParserHelper.kt
rc/main/kotlin/com/android/databinding/writer/DataBinderWriter.kt
e6c6d3bf4fac3fa11c5780cfd3bc14cdb0caaea1 10-Feb-2015 George Mount <mount@google.com> Prepare ClassAnalyzer to be replaced by other implementations.

ClassAnalyzer uses normal reflection. We intend to move
to an Annotation Processor and possibly an Android Studio
plugin version of type interaction as well. This abstracts
the type interaction to prepare.

Change-Id: I2b95ea9074bca7e3053aeadcd3692dffe93b41d6
rc/main/java/com/android/databinding/Binding.java
rc/main/java/com/android/databinding/BindingTarget.java
rc/main/java/com/android/databinding/ClassAnalyzer.java
rc/main/java/com/android/databinding/ExpressionVisitor.java
rc/main/java/com/android/databinding/expr/BracketExpr.java
rc/main/java/com/android/databinding/expr/ComparisonExpr.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/expr/GroupExpr.java
rc/main/java/com/android/databinding/expr/IdentifierExpr.java
rc/main/java/com/android/databinding/expr/MathExpr.java
rc/main/java/com/android/databinding/expr/MethodCallExpr.java
rc/main/java/com/android/databinding/expr/ResourceExpr.java
rc/main/java/com/android/databinding/expr/SymbolExpr.java
rc/main/java/com/android/databinding/expr/TernaryExpr.java
rc/main/java/com/android/databinding/reflection/Callable.java
rc/main/java/com/android/databinding/reflection/ClassAnalyzer.java
rc/main/java/com/android/databinding/reflection/ClassClass.java
rc/main/java/com/android/databinding/reflection/ClassField.java
rc/main/java/com/android/databinding/reflection/ClassMethod.java
rc/main/java/com/android/databinding/reflection/ReflectionAnalyzer.java
rc/main/java/com/android/databinding/reflection/ReflectionClass.java
rc/main/java/com/android/databinding/reflection/ReflectionField.java
rc/main/java/com/android/databinding/reflection/ReflectionMethod.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/ext/ext.kt
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/com/android/databinding/ExpressionVisitorTest.java
rc/test/java/com/android/databinding/LayoutBinderTest.java
rc/test/java/com/android/databinding/expr/ExprModelTest.java
rc/test/java/com/android/databinding/expr/ExprTest.java
9e20571da789c7d50650513c38d5a333b11b9fd3 10-Feb-2015 Yigit Boyar <yboyar@google.com> Fix how we handle non-bindable fields in Observable objects

Change-Id: Ia33200a2ade3bd3ed8d3a66e1602a04111f4387a
rc/main/java/com/android/databinding/ClassAnalyzer.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/test/java/com/android/databinding/MockIViewDataBinder.java
7920e17f7b501d5792e7e3250e9dbb69eca86ade 06-Feb-2015 George Mount <mount@google.com> Added support for Observable fields.

Added support for ObservableField and it primitive siblings.

Bug 19268016

Change-Id: I28322e5adc44d40013e876271e7d40010c2fe0bb
rc/main/java/com/android/databinding/ClassAnalyzer.java
rc/main/java/com/android/databinding/expr/BracketExpr.java
rc/main/java/com/android/databinding/expr/ComparisonExpr.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/expr/GroupExpr.java
rc/main/java/com/android/databinding/expr/MathExpr.java
rc/main/java/com/android/databinding/expr/MethodCallExpr.java
rc/main/java/com/android/databinding/expr/TernaryExpr.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/ext/ext.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
b0c02d8951351c7b1b2c87dacd751ba56d103013 07-Feb-2015 Yigit Boyar <yboyar@google.com> Check for final observable fields

If a field is final, we know it cannot change thus cannot include it in dependency
logic. Unfortunately, observable final fields can invalidate themselves so
we should consider them dynamic.

Bug: 19299279
Change-Id: I643377f7faea6a7b0e858ee55d22318b3fc5898e
rc/main/java/com/android/databinding/ClassAnalyzer.java
974a07824642fabd896930f20c7b176fd2333e31 04-Feb-2015 George Mount <mount@google.com> Made expressions prefix with "@"
rc/main/java/com/android/databinding/DataBinder.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/util/XmlEditor.kt
71eb6908f2689bd17000237eb645896c36da0138 04-Feb-2015 George Mount <mount@google.com> Added tests for BindingAdapters

Fixed a few small bugs as well.

Change-Id: Ie50afc6be457b293ce69508452bb38ea1ab75b41
rc/main/java/com/android/databinding/ClassAnalyzer.java
rc/main/java/com/android/databinding/DataBinder.java
rc/main/kotlin/com/android/databinding/ext/ext.kt
rc/main/kotlin/com/android/databinding/main.kt
5bf3700759ff21696becadd4e6fcfe2c0db6cb83 03-Feb-2015 Yigit Boyar <yboyar@google.com> Support for layout files in multiple resource folders

Multiple layout files with the same name now share a common interface.
They also share all variables no matter where it is defined.
If a variable is NOT used in one of the layout files, its implementation
does not create a field BUT STILL creates the setter (to implement
the base interface).

If the same view id is used for two different types of views, return
type in the interface is android.view.View. If it is an include,
the return value is IViewDataBinder.

Change-Id: Ie3cc2bb8ec5ea48b71337e314ec588a050d714df
rc/main/java/com/android/databinding/BindingTarget.java
rc/main/java/com/android/databinding/DataBinder.java
rc/main/java/com/android/databinding/LayoutBinder.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/util/ParserHelper.kt
rc/main/kotlin/com/android/databinding/util/XmlEditor.kt
rc/main/kotlin/com/android/databinding/writer/DataBinderWriter.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/main/resources/META-INF/gradle-plugins/com.android.databinding.properties
7551861a29997eac7eaf6318e4d9f1cebd8b81d6 31-Jan-2015 Yigit Boyar <yboyar@google.com> Support include tags as inner binders

Change-Id: I2d35c9887678a3547937ad384b9c0dc7603f4f60
rc/main/java/com/android/databinding/BindingTarget.java
rc/main/java/com/android/databinding/ClassAnalyzer.java
rc/main/java/com/android/databinding/DataBinder.java
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/util/ParserHelper.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
4711e767639124a4e9720fb72f03d1175fa7312f 30-Jan-2015 George Mount <mount@google.com> Made SetterStore serialization upgradable.

Bug 19197607
rc/main/java/com/android/databinding/store/SetterStore.java
7201118b5554426cea3fcd07e4fd96e999d3eea9 29-Jan-2015 George Mount <mount@google.com> Added tests for ViewBindingAdapter.

Also fixed:
Bug 19192030
rc/main/java/com/android/databinding/ClassAnalyzer.java
2c86cdbaf189e2b1774af7f64a2974de9321673f 28-Jan-2015 George Mount <mount@google.com> Moved classes from library to baseLibrary

Added tests for some classes.
rc/main/java/com/android/databinding/ClassAnalyzer.java
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
0fa158e8aa91297cc246e3bb9e5d1388dc2355cc 27-Jan-2015 Yigit Boyar <yboyar@google.com> more integration tests

Change-Id: I275ab3b41930694acd5db3875a5b4265a19581ca
rc/main/java/com/android/databinding/ClassAnalyzer.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/com/android/databinding/MockObservableLsit.java
rc/test/java/com/android/databinding/MockObservableMap.java
rc/test/java/com/android/databinding/expr/ExprModelTest.java
2c91eecdca60d55e7a4c69b486e307331ac93137 27-Jan-2015 George Mount <mount@google.com> Project renaming
uild.gradle
0935fcaf455ce6fc6916194da651b556e1ec0326 27-Jan-2015 George Mount <mount@google.com> Lazy load classes for SetterStore.
rc/main/java/com/android/databinding/store/SetterStore.java
dc69f49d687ec036947f26a9bf9025a305de0721 26-Jan-2015 Yigit Boyar <yboyar@google.com> properly handle expressions which are static.

Also make bindable a runtime expression so that we can read it in the compiler

Change-Id: Id8f6cdf010dde61d64a20841557c3b997916fbf9
rc/main/java/com/android/databinding/ClassAnalyzer.java
rc/main/java/com/android/databinding/ExpressionVisitor.java
rc/main/java/com/android/databinding/expr/Dependency.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/expr/MethodCallExpr.java
rc/main/java/com/android/databinding/expr/TernaryExpr.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/java/com/android/databinding/writer/ViewBinderExprWriter.java
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/com/android/databinding/expr/ExprModelTest.java
5cd681c345db8f606d7d5a8662e20e059f21a86c 24-Jan-2015 George Mount <mount@google.com> Add observable collections

Change-Id: I609708e2c914fa0c38695172ede23207eb1569a1
rc/main/java/com/android/databinding/ClassAnalyzer.java
rc/main/java/com/android/databinding/ExpressionVisitor.java
rc/main/java/com/android/databinding/expr/BracketExpr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
c752a5f795baf6df435ef60881316cb748df407c 22-Jan-2015 George Mount <mount@google.com> Add resource support in binding expression.

Change-Id: Iccb8c3a5856c247d8245fe97a3c37cd60bb7e758
rc/main/java/com/android/databinding/ExpressionVisitor.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/ResourceExpr.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
bfb7b3b8813a3eec0123a95a6fee6fdb0dcaa367 22-Jan-2015 Yigit Boyar <yboyar@google.com> fixed tests
rc/main/java/com/android/databinding/ClassAnalyzer.java
rc/test/java/com/android/databinding/ExpressionVisitorTest.java
rc/test/java/com/android/databinding/LayoutBinderTest.java
rc/test/java/com/android/databinding/MockBindable.java
rc/test/java/com/android/databinding/MockObservable.java
rc/test/java/com/android/databinding/writer/FlagSetTest.java
rc/test/java/com/android/databinding2/ExpressionVisitorTest.java
rc/test/java/com/android/databinding2/LayoutBinderTest.java
rc/test/java/com/android/databinding2/MockBindable.java
rc/test/java/com/android/databinding2/MockObservable.java
43596c2b2997e40b709627419732100d78a62ff0 22-Jan-2015 Yigit Boyar <yboyar@google.com> Cleanup previous layout generators.

Change-Id: Ib55038fa762561ad69c3936e5731f2a27998c87f
rc/main/java/com/android/databinding/Binding.java
rc/main/java/com/android/databinding/BindingTarget.java
rc/main/java/com/android/databinding/ClassAnalyzer.java
rc/main/java/com/android/databinding/DataBinder.java
rc/main/java/com/android/databinding/ExpressionParser.java
rc/main/java/com/android/databinding/ExpressionVisitor.java
rc/main/java/com/android/databinding/LayoutBinder.java
rc/main/java/com/android/databinding/expr/ComparisonExpr.java
rc/main/java/com/android/databinding/expr/Dependency.java
rc/main/java/com/android/databinding/expr/Expr.java
rc/main/java/com/android/databinding/expr/ExprModel.java
rc/main/java/com/android/databinding/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding/expr/GroupExpr.java
rc/main/java/com/android/databinding/expr/IdentifierExpr.java
rc/main/java/com/android/databinding/expr/MathExpr.java
rc/main/java/com/android/databinding/expr/MethodCallExpr.java
rc/main/java/com/android/databinding/expr/StaticIdentifierExpr.java
rc/main/java/com/android/databinding/expr/SymbolExpr.java
rc/main/java/com/android/databinding/expr/TernaryExpr.java
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/java/com/android/databinding/util/L.java
rc/main/java/com/android/databinding/writer/FlagSet.java
rc/main/java/com/android/databinding/writer/ViewBinderExprWriter.java
rc/main/java/com/android/databinding2/Binding.java
rc/main/java/com/android/databinding2/BindingTarget.java
rc/main/java/com/android/databinding2/ClassAnalyzer.java
rc/main/java/com/android/databinding2/DataBinder.java
rc/main/java/com/android/databinding2/ExpressionParser.java
rc/main/java/com/android/databinding2/ExpressionVisitor.java
rc/main/java/com/android/databinding2/LayoutBinder.java
rc/main/java/com/android/databinding2/expr/ComparisonExpr.java
rc/main/java/com/android/databinding2/expr/Dependency.java
rc/main/java/com/android/databinding2/expr/Expr.java
rc/main/java/com/android/databinding2/expr/ExprModel.java
rc/main/java/com/android/databinding2/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding2/expr/GroupExpr.java
rc/main/java/com/android/databinding2/expr/IdentifierExpr.java
rc/main/java/com/android/databinding2/expr/MathExpr.java
rc/main/java/com/android/databinding2/expr/MethodCallExpr.java
rc/main/java/com/android/databinding2/expr/StaticIdentifierExpr.java
rc/main/java/com/android/databinding2/expr/SymbolExpr.java
rc/main/java/com/android/databinding2/expr/TernaryExpr.java
rc/main/java/com/android/databinding2/util/L.java
rc/main/java/com/android/databinding2/writer/FlagSet.java
rc/main/java/com/android/databinding2/writer/ViewBinderExprWriter.java
rc/main/java/com/example/databinding/ExpressionVisitor.java
rc/main/java/com/example/databinding/LayoutParser.java
rc/main/kotlin/com/android/databinding/ext/ext.kt
rc/main/kotlin/com/android/databinding/ext/list_ext.kt
rc/main/kotlin/com/android/databinding/ext/string_ext.kt
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/parser/expression_parser.kt
rc/main/kotlin/com/android/databinding/parser/expressions.kt
rc/main/kotlin/com/android/databinding/renderer/attr_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/data_binder_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
rc/main/kotlin/com/android/databinding/renderer2/KCode.kt
rc/main/kotlin/com/android/databinding/renderer2/LayoutBinderWriter.kt
rc/main/kotlin/com/android/databinding/renderer2/LazyExt.kt
rc/main/kotlin/com/android/databinding/util/class_analyzer.kt
rc/main/kotlin/com/android/databinding/vo/vo.kt
rc/main/kotlin/com/android/databinding/writer/DataBinderWriter.kt
rc/main/kotlin/com/android/databinding/writer/KCode.kt
rc/main/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
rc/test/java/com/android/databinding/expr/ExprModelTest.java
rc/test/java/com/android/databinding/expr/ExprTest.java
rc/test/java/com/android/databinding/writer/FlagSetTest.java
rc/test/java/com/android/databinding2/ExpressionVisitorTest.java
rc/test/java/com/android/databinding2/LayoutBinderTest.java
rc/test/java/com/android/databinding2/expr/ExprModelTest.java
rc/test/java/com/android/databinding2/expr/ExprTest.java
rc/test/java/com/android/databinding2/writer/FlagSetTest.java
d7af42b29ddf22f0068f7496c5ac6f4f34b543b6 09-Jan-2015 Yigit Boyar <yboyar@google.com> WIP Moved models to Java, refactored expressions to have proper dependencies, added tests

Change-Id: I863787a3ed76ecc397b677cfd110aa7aba99cb38
uild.gradle
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/java/com/android/databinding2/Binding.java
rc/main/java/com/android/databinding2/BindingTarget.java
rc/main/java/com/android/databinding2/ClassAnalyzer.java
rc/main/java/com/android/databinding2/DataBinder.java
rc/main/java/com/android/databinding2/ExpressionParser.java
rc/main/java/com/android/databinding2/ExpressionVisitor.java
rc/main/java/com/android/databinding2/LayoutBinder.java
rc/main/java/com/android/databinding2/expr/ComparisonExpr.java
rc/main/java/com/android/databinding2/expr/Dependency.java
rc/main/java/com/android/databinding2/expr/Expr.java
rc/main/java/com/android/databinding2/expr/ExprModel.java
rc/main/java/com/android/databinding2/expr/FieldAccessExpr.java
rc/main/java/com/android/databinding2/expr/GroupExpr.java
rc/main/java/com/android/databinding2/expr/IdentifierExpr.java
rc/main/java/com/android/databinding2/expr/MathExpr.java
rc/main/java/com/android/databinding2/expr/MethodCallExpr.java
rc/main/java/com/android/databinding2/expr/StaticIdentifierExpr.java
rc/main/java/com/android/databinding2/expr/SymbolExpr.java
rc/main/java/com/android/databinding2/expr/TernaryExpr.java
rc/main/java/com/android/databinding2/util/L.java
rc/main/java/com/android/databinding2/writer/FlagSet.java
rc/main/java/com/android/databinding2/writer/ViewBinderExprWriter.java
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/renderer2/KCode.kt
rc/main/kotlin/com/android/databinding/renderer2/LayoutBinderWriter.kt
rc/main/kotlin/com/android/databinding/renderer2/LazyExt.kt
rc/main/kotlin/com/android/databinding/vo/vo.kt
rc/test/java/com/android/databinding2/ExpressionVisitorTest.java
rc/test/java/com/android/databinding2/LayoutBinderTest.java
rc/test/java/com/android/databinding2/MockBindable.java
rc/test/java/com/android/databinding2/MockObservable.java
rc/test/java/com/android/databinding2/expr/ExprModelTest.java
rc/test/java/com/android/databinding2/expr/ExprTest.java
rc/test/java/com/android/databinding2/writer/FlagSetTest.java
7a25150b56cb9256f9f4786f47694b03ba312d72 20-Jan-2015 George Mount <mount@google.com> Made non-android XML namespace uniform for setter retrieval.
rc/main/java/com/android/databinding/store/SetterStore.java
3561e3e665698843b1c664385a842e779198960b 20-Jan-2015 George Mount <mount@google.com> Added implementations of BindingAdapters.

Added renaming attribute-to-setter and automatic Conversions.
Moved intermediate store (SetterStore) to compiler project.
Moved annotations to their own project.
uild.gradle
rc/main/java/com/android/databinding/store/SetterStore.java
rc/main/kotlin/com/android/databinding/util/class_analyzer.kt
rc/main/kotlin/com/android/databinding/vo/vo.kt
612997fe2e41366573855f56898b27d4c8787244 09-Jan-2015 George Mount <mount@google.com> Handle BindingAdapters
uild.gradle
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
rc/main/kotlin/com/android/databinding/vo/vo.kt
35e303ef39a4fe83175b69486a6bbd444ef6ccd5 09-Jan-2015 Yigit Boyar <yboyar@google.com> initial implementation for type resolution
rc/main/java/com/example/databinding/ExpressionVisitor.java
rc/main/kotlin/com/android/databinding/parser/expression_parser.kt
rc/main/kotlin/com/android/databinding/parser/expressions.kt
rc/main/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
rc/main/kotlin/com/android/databinding/util/class_analyzer.kt
c09acd410cdf8399b43f5e4a77313337a0c9a178 08-Jan-2015 George Mount <mount@google.com> New expression language.
uild.gradle
rc/main/java/com/example/databinding/ExpressionVisitor.java
rc/main/kotlin/com/android/databinding/parser/expression_parser.kt
7bdc3517f998d167a8d2922fbe5b3ee955a75016 17-Dec-2014 George Mount <mount@google.com> Move to android.binding.BR
rc/main/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
8ffce57a6056a34c9568ef1893d6e36ce80f2245 13-Dec-2014 Yigit Boyar <yboyar@google.com> Upload plugin for new lang
uild.gradle
rc/main/kotlin/com/android/databinding/ext/node_ext.kt
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/util/Log.kt
rc/main/kotlin/com/android/databinding/util/XmlEditor.kt
051f795993b296a20b1fa006135781e437251548 17-Dec-2014 George Mount <mount@google.com> Revert "Missed adding annotation processor code."

This reverts commit 6c634edac4f9af4bdeb84cdc2f47e849bfd74d86.

Change-Id: I74afc4c8a10cd276d0bb422efd37ae339e8c8d86
rc/main/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
2527c89af21b2af11a2bb627b5ce1380368016c7 17-Dec-2014 George Mount <mount@google.com> Missed adding annotation processor code.
rc/main/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
840f0ce0645ecc28a528d2c73efa25532d721d20 13-Dec-2014 Yigit Boyar <yboyar@google.com> move dependencies from maven to project
uild.gradle
rc/main/java/com/example/databinding/LayoutParser.java
84145342f9acc0c4ef932c75dac242ea85b57766 13-Dec-2014 Yigit Boyar <yboyar@google.com> Replace maven dependencies w/ direct project references
uild.gradle
eb1062abaed1314c71cf80584fe8bcb8b2a6ba53 12-Dec-2014 Yigit Boyar <yboyar@google.com> add samples, upload gradle files
radle/wrapper/gradle-wrapper.jar
radle/wrapper/gradle-wrapper.properties
radlew
radlew.bat
2d5a37e735e7b281498fc0dfedc7e476ca724b89 12-Dec-2014 Yigit Boyar <yboyar@google.com> cleanup personal references
rc/main/java/com/example/databinding/LayoutParser.java
rc/main/kotlin/com/android/databinding/ext/list_ext.kt
rc/main/kotlin/com/android/databinding/ext/node_ext.kt
rc/main/kotlin/com/android/databinding/ext/string_ext.kt
rc/main/kotlin/com/android/databinding/parser/expression_parser.kt
rc/main/kotlin/com/android/databinding/parser/expressions.kt
rc/main/kotlin/com/android/databinding/renderer/attr_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/data_binder_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
rc/main/kotlin/com/android/databinding/util/class_analyzer.kt
rc/main/kotlin/com/android/databinding/vo/vo.kt
3d4bdfeeb2ffd1b2ec8a26abd1f4306295a66a43 12-Dec-2014 Yigit Boyar <yboyar@google.com> add copyright to project files
uild.gradle
rc/main/java/com/example/databinding/LayoutParser.java
rc/main/kotlin/com/android/databinding/ext/list_ext.kt
rc/main/kotlin/com/android/databinding/ext/node_ext.kt
rc/main/kotlin/com/android/databinding/ext/string_ext.kt
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/parser/expression_parser.kt
rc/main/kotlin/com/android/databinding/parser/expressions.kt
rc/main/kotlin/com/android/databinding/renderer/attr_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/data_binder_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
rc/main/kotlin/com/android/databinding/util/Log.kt
rc/main/kotlin/com/android/databinding/util/class_analyzer.kt
rc/main/kotlin/com/android/databinding/vo/vo.kt
rc/main/resources/META-INF/gradle-plugins/com.android.databinding.properties
085724fd84795ae1631747443c43f77c08e11a28 12-Dec-2014 Yigit Boyar <yboyar@google.com> initial commit
uild.gradle
rc/main/java/com/example/databinding/LayoutParser.java
rc/main/kotlin/com/android/databinding/ext/list_ext.kt
rc/main/kotlin/com/android/databinding/ext/node_ext.kt
rc/main/kotlin/com/android/databinding/ext/string_ext.kt
rc/main/kotlin/com/android/databinding/main.kt
rc/main/kotlin/com/android/databinding/parser/expression_parser.kt
rc/main/kotlin/com/android/databinding/parser/expressions.kt
rc/main/kotlin/com/android/databinding/renderer/attr_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/data_binder_renderer.kt
rc/main/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
rc/main/kotlin/com/android/databinding/util/Log.kt
rc/main/kotlin/com/android/databinding/util/class_analyzer.kt
rc/main/kotlin/com/android/databinding/vo/vo.kt
rc/main/resources/META-INF/gradle-plugins/com.android.databinding.properties