All Downloads are FREE. Search and download functionalities are using the official Maven repository.

checker.src.org.checkerframework.checker.lock.LockAnalysis Maven / Gradle / Ivy

package org.checkerframework.checker.lock;

import org.checkerframework.common.basetype.BaseTypeChecker;
import org.checkerframework.framework.flow.CFAbstractAnalysis;
import org.checkerframework.framework.flow.CFValue;
import org.checkerframework.framework.type.AnnotatedTypeMirror;
import org.checkerframework.javacutil.Pair;

import java.util.List;

import javax.lang.model.element.VariableElement;

/**
 * The analysis class for the lock type system (serves as factory for the
 * transfer function, stores and abstract values).
 */
public class LockAnalysis extends
        CFAbstractAnalysis {

    public LockAnalysis(BaseTypeChecker checker,
            LockAnnotatedTypeFactory factory,
            List> fieldValues) {
        super(checker, factory, fieldValues);
    }

    @Override
    public LockTransfer createTransferFunction() {
        return new LockTransfer(this,(LockChecker)checker);
    }

    @Override
    public LockStore createEmptyStore(boolean sequentialSemantics) {
        return new LockStore(this, sequentialSemantics);
    }

    @Override
    public LockStore createCopiedStore(LockStore s) {
        return new LockStore(this, s);
    }

    @Override
    public CFValue createAbstractValue(AnnotatedTypeMirror type) {
        return defaultCreateAbstractValue(this, type);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy