diff options
author | George Mount <mount@google.com> | 2016-02-23 14:43:53 -0800 |
---|---|---|
committer | George Mount <mount@google.com> | 2016-02-23 15:02:48 -0800 |
commit | b522c7650bf7d9ec566845bc9eb37e761eea853d (patch) | |
tree | aeabffa07ce82c69257f4e07fcc8141b4f23ff47 | |
parent | 5884ca73e8737846bee442a8032de649615f20cb (diff) | |
download | data-binding-b522c7650bf7d9ec566845bc9eb37e761eea853d.tar.gz |
GroupExpr is unnecessary.
The grouping happens at parsing time, so grouping
as part of the expression model is unnecessary. It
can be inferred.
Change-Id: I10c617516741b9ff8115144d51fcadcd2f8b87d6
4 files changed, 10 insertions, 76 deletions
diff --git a/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java b/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java index 045fce64..5fc5534d 100644 --- a/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java +++ b/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java @@ -16,14 +16,6 @@ package android.databinding.tool; -import com.google.common.base.Objects; - -import org.antlr.v4.runtime.ParserRuleContext; -import org.antlr.v4.runtime.misc.NotNull; -import org.antlr.v4.runtime.tree.ParseTree; -import org.antlr.v4.runtime.tree.ParseTreeListener; -import org.antlr.v4.runtime.tree.TerminalNode; - import android.databinding.parser.BindingExpressionBaseVisitor; import android.databinding.parser.BindingExpressionParser; import android.databinding.parser.BindingExpressionParser.AndOrOpContext; @@ -39,6 +31,14 @@ import android.databinding.tool.reflection.ModelAnalyzer; import android.databinding.tool.reflection.ModelClass; import android.databinding.tool.util.Preconditions; +import com.google.common.base.Objects; + +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.misc.NotNull; +import org.antlr.v4.runtime.tree.ParseTree; +import org.antlr.v4.runtime.tree.ParseTreeListener; +import org.antlr.v4.runtime.tree.TerminalNode; + import java.util.ArrayDeque; import java.util.ArrayList; import java.util.List; @@ -175,7 +175,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> { onEnter(ctx); Preconditions.check(ctx.children.size() == 3, "Grouping expression should have" + " 3 children. # of children: %d", ctx.children.size()); - return mModel.group(ctx.children.get(1).accept(this)); + return ctx.children.get(1).accept(this); } finally { onExit(ctx); } diff --git a/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java b/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java index 567ce3ae..f9f2c654 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java +++ b/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java @@ -17,8 +17,8 @@ package android.databinding.tool.expr; import android.databinding.tool.BindingTarget; -import android.databinding.tool.InverseBinding; import android.databinding.tool.CallbackWrapper; +import android.databinding.tool.InverseBinding; import android.databinding.tool.reflection.ModelAnalyzer; import android.databinding.tool.reflection.ModelClass; import android.databinding.tool.reflection.ModelMethod; @@ -28,8 +28,6 @@ import android.databinding.tool.util.Preconditions; import android.databinding.tool.writer.ExprModelExt; import android.databinding.tool.writer.FlagSet; -import com.google.common.collect.Maps; - import org.antlr.v4.runtime.ParserRuleContext; import org.jetbrains.annotations.Nullable; @@ -271,10 +269,6 @@ public class ExprModel { return register(new UnaryExpr(op, expr)); } - public Expr group(Expr grouped) { - return register(new GroupExpr(grouped)); - } - public Expr resourceExpr(String packageName, String resourceType, String resourceName, List<Expr> args) { return register(new ResourceExpr(packageName, resourceType, resourceName, args)); diff --git a/compiler/src/main/java/android/databinding/tool/expr/GroupExpr.java b/compiler/src/main/java/android/databinding/tool/expr/GroupExpr.java deleted file mode 100644 index 4a76688b..00000000 --- a/compiler/src/main/java/android/databinding/tool/expr/GroupExpr.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.databinding.tool.expr; - -import android.databinding.tool.reflection.ModelAnalyzer; -import android.databinding.tool.reflection.ModelClass; -import android.databinding.tool.writer.KCode; - -import java.util.List; - -public class GroupExpr extends Expr { - public GroupExpr(Expr wrapped) { - super(wrapped); - } - - @Override - protected ModelClass resolveType(ModelAnalyzer modelAnalyzer) { - return getWrapped().getResolvedType(); - } - - @Override - protected List<Dependency> constructDependencies() { - return getWrapped().constructDependencies(); - } - - @Override - protected KCode generateCode(boolean expand) { - return new KCode().app("(", getWrapped().toCode(expand)).app(")"); - } - - public Expr getWrapped() { - return getChildren().get(0); - } - - @Override - public KCode toInverseCode(KCode value) { - // Nothing to do here. Other expressions should automatically take care of grouping. - return getWrapped().toInverseCode(value); - } - - @Override - public String getInvertibleError() { - return getWrapped().getInvertibleError(); - } -} diff --git a/compiler/src/test/java/android/databinding/tool/expr/ExprModelTest.java b/compiler/src/test/java/android/databinding/tool/expr/ExprModelTest.java index 63349324..6a89cb6a 100644 --- a/compiler/src/test/java/android/databinding/tool/expr/ExprModelTest.java +++ b/compiler/src/test/java/android/databinding/tool/expr/ExprModelTest.java @@ -45,7 +45,6 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; @SuppressWarnings("Duplicates") |