001 package edu.rice.cs.cunit.record.syncPoints;
002
003 import edu.rice.cs.cunit.instrumentors.DoNotInstrument;
004
005
006 /**
007 * Synchronization point interface on the runtime level.
008 *
009 * @author Mathias Ricken
010 */
011 @DoNotInstrument
012 public interface ISyncPoint {
013 /**
014 * Interface for translated versions on the monitor side.
015 */
016 public static interface Translated {
017 /**
018 * Executes a visitor.
019 *
020 * @param visitor visitor to execute
021 * @param param visitor-specific parameter
022 *
023 * @return visitor-specific return value
024 */
025 public <R,P> R execute(ISyncPointVisitor<R, P> visitor, P param);
026 }
027 }