public class DereferenceHelper
extends java.lang.Object
Constructor and Description |
---|
DereferenceHelper() |
Modifier and Type | Method and Description |
---|---|
static void |
checkAccess(Expr ref,
FabricReferenceType targetType,
LabelChecker lc,
Position pos)
Adds constraints to lc to reflect that ref influences a fetch of something
of targetType.
|
static void |
checkDereference(Receiver ref,
LabelChecker lc,
Position pos)
Adds constraints to lc reflecting the fetch side effects of a dereference
|
public static void checkDereference(Receiver ref, LabelChecker lc, Position pos) throws SemanticException
SemanticException
public static void checkAccess(Expr ref, FabricReferenceType targetType, LabelChecker lc, Position pos) throws SemanticException
C1 x; (C2) x;will cause a flow from the label of x to the access label of C2; checkAccess(x, C2, ...) will add constraints reflecting that. Assumes that ref has already been label checked.
SemanticException