16047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar/* 26047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * Copyright (C) 2016 The Android Open Source Project 36047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * 46047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * Licensed under the Apache License, Version 2.0 (the "License"); 56047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * you may not use this file except in compliance with the License. 66047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * You may obtain a copy of the License at 76047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * 86047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * http://www.apache.org/licenses/LICENSE-2.0 96047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * 106047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * Unless required by applicable law or agreed to in writing, software 116047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * distributed under the License is distributed on an "AS IS" BASIS, 126047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * See the License for the specific language governing permissions and 146047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * limitations under the License. 156047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar */ 166047998943beebd81e0ae1068df39c0cbee38628Yigit Boyarpackage android.databinding.tool.solver; 176047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar 186047998943beebd81e0ae1068df39c0cbee38628Yigit Boyarimport android.databinding.tool.expr.Expr; 196047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar 206047998943beebd81e0ae1068df39c0cbee38628Yigit Boyarimport org.jetbrains.annotations.NotNull; 216047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar 226047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar/** 236047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar * Represents if statements in the execution. 246047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar */ 256047998943beebd81e0ae1068df39c0cbee38628Yigit Boyarpublic class ExecutionBranch { 266047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar 276047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar @NotNull 286047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar private Expr mConditional; 296047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar 306047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar private final boolean mExpectedCondition; 316047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar 326047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar @NotNull 336047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar private final ExecutionPath mPath; 346047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar 356047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar public ExecutionBranch(@NotNull ExecutionPath path, @NotNull Expr conditional, 366047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar boolean expectedCondition) { 376047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar mConditional = conditional; 386047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar mExpectedCondition = expectedCondition; 396047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar mPath = path; 406047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar } 416047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar 426047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar @NotNull 436047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar public Expr getConditional() { 446047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar return mConditional; 456047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar } 466047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar 476047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar public boolean getExpectedCondition() { 486047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar return mExpectedCondition; 496047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar } 506047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar 516047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar @NotNull 526047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar public ExecutionPath getPath() { 536047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar return mPath; 546047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar } 556047998943beebd81e0ae1068df39c0cbee38628Yigit Boyar} 56