/** * Copyright (c) 2009-2011, The HATS Consortium. All rights reserved. * This file is licensed under the terms of the Modified BSD License. */ package abs.backend.java.lib.runtime; public class ABSAndGuard extends ABSGuard { public final ABSGuard left; public final ABSGuard right; public ABSAndGuard(ABSGuard l, ABSGuard r) { left = l; right = r; } @Override public boolean staysTrue() { return left.staysTrue() && right.staysTrue(); } @Override public boolean isTrue() { return left.isTrue() && right.isTrue(); } public String toString() { return "ANDGuard " + left + " AND " + right; } public ABSGuard getLeftGuard() { return left; } public ABSGuard getRightGuard() { return right; } public boolean await() { boolean b = left.await(); boolean b2 = right.await(); return b || b2; } @Override public String toABSString() { return left.toABSString() + " & " + right.toABSString(); } }