/* MUST MATCH STRING BELOW! */ package ovm.core.execution;
import ovm.core.repository.Selector;
import ovm.core.repository.TypeName;
import ovm.core.domain.Blueprint;
import s3.util.PragmaException;
/**
 * Annotate non-native methods to inform that a native implementation will
 * be used
 *
 * FIXME: This class should not exists.  Native rewriting has nothing
 * to do with pragmas.  A method has a native substitute by virtue of
 * being in a the appropriate class and domain for INVOKE_NATIVE
 * transformations to take place.  If you want to know whether a
 * method has a native substitute, you should ask the native call
 * generator!
 **/
public class PragmaHasNativeSubstitute 
    /* MUST MATCH STRING! */ extends PragmaException {
    
    private static final TypeName.Scalar me =
	getTypeName("ovm.core.execution.PragmaHasNativeSubstitute"); // UPDATE IF CLASS/PACKAGE CHANGED!
    
    public static boolean declaredBy(Selector.Method ms, Blueprint bp) {
	return declaredBy(me, ms, bp);
    }
}
