Commit 53650b5c authored by Lubomir Bulej's avatar Lubomir Bulej
Browse files

Marker: fixed a typo in the name of the BytecodeMarker class linked from the documentation.

parent 11504037
package ch.usi.dag.disl.marker; package ch.usi.dag.disl.marker;
import java.util.List; import java.util.List;
import org.objectweb.asm.tree.ClassNode; import org.objectweb.asm.tree.ClassNode;
import org.objectweb.asm.tree.MethodNode; import org.objectweb.asm.tree.MethodNode;
import ch.usi.dag.disl.exception.MarkerException; import ch.usi.dag.disl.exception.MarkerException;
import ch.usi.dag.disl.snippet.Shadow; import ch.usi.dag.disl.snippet.Shadow;
import ch.usi.dag.disl.snippet.Snippet; import ch.usi.dag.disl.snippet.Snippet;
/** /**
* <p> * <p>
* Basic interface that every marker has to implement. Marker should return list * Basic interface that every marker has to implement. Marker should return list
* of shadows that are marks for particular method. * of shadows that are marks for particular method.
* *
* <p> * <p>
* There is a list of already prepared markers that select various regions in * There is a list of already prepared markers that select various regions in
* scoped methods. * scoped methods.
* <ul> * <ul>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.AfterInitBodyMarker * {@link ch.usi.dag.disl.marker.AfterInitBodyMarker
* AfterInitBodyMarker}</li> * AfterInitBodyMarker}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.BasicBlockMarker * {@link ch.usi.dag.disl.marker.BasicBlockMarker
* BasicBlockMarker}</li> * BasicBlockMarker}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.BodyMarker * {@link ch.usi.dag.disl.marker.BodyMarker
* BodyMarker}</li> * BodyMarker}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.BytcodeMarker * {@link ch.usi.dag.disl.marker.BytecodeMarker
* BytcodeMarker}</li> * BytcodeMarker}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.EmptyMarker * {@link ch.usi.dag.disl.marker.EmptyMarker
* EmptyMarker}</li> * EmptyMarker}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.ExceptionHandlerMarker * {@link ch.usi.dag.disl.marker.ExceptionHandlerMarker
* ExceptionHandlerMarker}</li> * ExceptionHandlerMarker}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.InsnNodeMarker * {@link ch.usi.dag.disl.marker.InsnNodeMarker
* InsnNodeMarker - experimental}</li> * InsnNodeMarker - experimental}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.NewObjMarker * {@link ch.usi.dag.disl.marker.NewObjMarker
* NewObjMarker - experimental}</li> * NewObjMarker - experimental}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.PreciseBasicBlockMarker * {@link ch.usi.dag.disl.marker.PreciseBasicBlockMarker
* PreciseBasicBlockMarker}</li> * PreciseBasicBlockMarker}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.StrictBytecodeMarker * {@link ch.usi.dag.disl.marker.StrictBytecodeMarker
* StrictBytecodeMarker}</li> * StrictBytecodeMarker}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.TryClauseMarker * {@link ch.usi.dag.disl.marker.TryClauseMarker
* TryClauseMarker}</li> * TryClauseMarker}</li>
* </ul> * </ul>
* *
* <p> * <p>
* It's also possible to implement and use custom markers. This interface might * It's also possible to implement and use custom markers. This interface might
* be implemented directly or following abstract markers might be used. * be implemented directly or following abstract markers might be used.
* <ul> * <ul>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.AbstractMarker * {@link ch.usi.dag.disl.marker.AbstractMarker
* AbstractMarker}</li> * AbstractMarker}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.AbstractDWRMarker * {@link ch.usi.dag.disl.marker.AbstractDWRMarker
* AbstractDWRMarker}</li> * AbstractDWRMarker}</li>
* <li> * <li>
* {@link ch.usi.dag.disl.marker.AbstractInsnMarker * {@link ch.usi.dag.disl.marker.AbstractInsnMarker
* AbstractInsnMarker}</li> * AbstractInsnMarker}</li>
* </ul> * </ul>
*/ */
public interface Marker { public interface Marker {
/** /**
* <p> * <p>
* Returns shadows for the marked method. * Returns shadows for the marked method.
* *
* @param classNode * @param classNode
* represents class being marked * represents class being marked
* @param methodNode * @param methodNode
* represents method being marked * represents method being marked
* @param snippet * @param snippet
* snippet defining the marker * snippet defining the marker
* @return * @return
* list of shadows for marked method * list of shadows for marked method
*/ */
List<Shadow> mark(ClassNode classNode, MethodNode methodNode, List<Shadow> mark(ClassNode classNode, MethodNode methodNode,
Snippet snippet) throws MarkerException; Snippet snippet) throws MarkerException;
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment