package edu.ucsd.arcum.interpreter.ast.expressions;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import com.google.common.collect.Sets;
import edu.ucsd.arcum.exceptions.SourceLocation;
import edu.ucsd.arcum.interpreter.ast.TraitSignature;
public class FalseLiteral extends ConstraintExpression
{
public FalseLiteral(SourceLocation location) {
super(location);
}
@Override public String toString() {
return "false";
}
@Override protected void doCheckUserDefinedPredicates(List<TraitSignature> tupleSets, Set<String> varsInScope) {
// intentionally left blank
}
@Override public Set<String> getArcumVariableReferences() {
return Collections.EMPTY_SET;
}
// EXAMPLE: This used to return a List, but now returns a Set. Different semantics,
// but you could imagine there being checks that remove isn't used and instead
// removeAll is used.
@Override public Set<String> findAllTraitDependencies() {
return Sets.newHashSet();
}
@Override public Set<String> findNonMonotonicDependencies() {
return Sets.newHashSet();
}
}