001package daikon.simplify; 002 003import org.checkerframework.checker.lock.qual.GuardSatisfied; 004import org.checkerframework.checker.lock.qual.GuardedBy; 005import org.checkerframework.dataflow.qual.SideEffectFree; 006 007public interface Cmd { 008 /** 009 * Runs the command in the given session. 010 * 011 * @param s a session in which to run this command 012 */ 013 public void apply(final @GuardedBy("<self>") Session s); 014 015 /** 016 * Returns a string for debugging only. 017 * 018 * @return a string for debugging only 019 */ 020 @SideEffectFree 021 @Override 022 public String toString(@GuardSatisfied Cmd this); 023}