diff options
author | Yigit Boyar <yboyar@google.com> | 2015-04-17 13:40:10 -0700 |
---|---|---|
committer | Yigit Boyar <yboyar@google.com> | 2015-04-19 14:30:33 -0700 |
commit | 019c36b97c7c172ac03997f6bf170e65b2ed7fe4 (patch) | |
tree | ce4e9e0ec7f01e070734c8eb3b19a8f6cc8e81c9 /prebuilds | |
parent | ee7586713d68806b556a425cbebf007a56261ff3 (diff) | |
download | data-binding-019c36b97c7c172ac03997f6bf170e65b2ed7fe4.tar.gz |
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
Diffstat (limited to 'prebuilds')
-rw-r--r-- | prebuilds/0.3/databinding-adapters.aar | bin | 31656 -> 31654 bytes |
-rw-r--r-- | prebuilds/0.3/databinding-compiler-all.jar | bin | 6896965 -> 6885485 bytes |
-rw-r--r-- | prebuilds/0.3/databinding-library.aar | bin | 29575 -> 29575 bytes |
-rw-r--r-- | prebuilds/0.3/databinding-library.jar | bin | 35148 -> 35148 bytes |
-rw-r--r-- | prebuilds/0.3/databinding-studio-bundle.jar | bin | 6863115 -> 6861564 bytes |
5 files changed, 0 insertions, 0 deletions
diff --git a/prebuilds/0.3/databinding-adapters.aar b/prebuilds/0.3/databinding-adapters.aar Binary files differindex 2e41a16b..3e3c04d5 100644 --- a/prebuilds/0.3/databinding-adapters.aar +++ b/prebuilds/0.3/databinding-adapters.aar diff --git a/prebuilds/0.3/databinding-compiler-all.jar b/prebuilds/0.3/databinding-compiler-all.jar Binary files differindex 94b45004..01680493 100644 --- a/prebuilds/0.3/databinding-compiler-all.jar +++ b/prebuilds/0.3/databinding-compiler-all.jar diff --git a/prebuilds/0.3/databinding-library.aar b/prebuilds/0.3/databinding-library.aar Binary files differindex 25cb8075..d72e4afb 100644 --- a/prebuilds/0.3/databinding-library.aar +++ b/prebuilds/0.3/databinding-library.aar diff --git a/prebuilds/0.3/databinding-library.jar b/prebuilds/0.3/databinding-library.jar Binary files differindex 6f1a507c..207fc814 100644 --- a/prebuilds/0.3/databinding-library.jar +++ b/prebuilds/0.3/databinding-library.jar diff --git a/prebuilds/0.3/databinding-studio-bundle.jar b/prebuilds/0.3/databinding-studio-bundle.jar Binary files differindex 5b9854ed..dd481516 100644 --- a/prebuilds/0.3/databinding-studio-bundle.jar +++ b/prebuilds/0.3/databinding-studio-bundle.jar |