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

org.checkerframework.common.reflection.MethodValChecker Maven / Gradle / Ivy

package org.checkerframework.common.reflection;

import java.util.LinkedHashSet;
import org.checkerframework.common.basetype.BaseTypeChecker;
import org.checkerframework.common.basetype.BaseTypeVisitor;
import org.checkerframework.common.value.ValueChecker;
import org.checkerframework.framework.qual.StubFiles;

/**
 * The MethodVal Checker provides a sound estimate of the signature of Method objects
 *
 * @checker_framework.manual #methodval-and-classval-checkers MethodVal Checker
 */
@StubFiles({"reflection.astub"})
public class MethodValChecker extends BaseTypeChecker {
    @Override
    protected BaseTypeVisitor createSourceVisitor() {
        return new MethodValVisitor(this);
    }

    @Override
    protected LinkedHashSet> getImmediateSubcheckerClasses() {
        // Don't call super otherwise MethodVal will be added as a subChecker
        // which creates a circular dependency.
        LinkedHashSet> subCheckers = new LinkedHashSet<>();
        subCheckers.add(ValueChecker.class);
        subCheckers.add(ClassValChecker.class);
        return subCheckers;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy