예제 #1
0
        public static bool HasConstraint(this ISymbol symbol, SymbolicValueConstraint constraint, ProgramState programState)
        {
            var symbolicValue = programState.GetSymbolValue(symbol);

            if (symbolicValue == null)
            {
                return(false);
            }

            return(programState.HasConstraint(symbolicValue, constraint));
        }
예제 #2
0
        public static ProgramState RemoveConstraint(this ISymbol symbol, SymbolicValueConstraint constraint, ProgramState programState)
        {
            var symbolicValue = programState.GetSymbolValue(symbol);

            if (symbolicValue == null ||
                !programState.HasConstraint(symbolicValue, constraint))
            {
                return(programState);
            }

            return(programState.RemoveConstraint(symbolicValue, constraint));
        }