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