package org.checkerframework.checker.interning; import javax.annotation.processing.SupportedOptions; import org.checkerframework.checker.interning.qual.Interned; import org.checkerframework.common.basetype.BaseTypeChecker; import org.checkerframework.framework.qual.StubFiles; import org.checkerframework.framework.source.SupportedLintOptions; /** * A type-checker plug-in for the {@link Interned} qualifier that finds (and verifies the absence * of) equality-testing and interning errors. * * <p>The {@link Interned} annotation indicates that a variable refers to the canonical instance of * an object, meaning that it is safe to compare that object using the "==" operator. This plugin * warns whenever "==" is used in cases where one or both operands are not {@link Interned}. * Optionally, it suggests using "==" instead of ".equals" where possible. * * @checker_framework.manual #interning-checker Interning Checker */ @StubFiles({"com-sun.astub", "org-jcp.astub", "org-xml.astub", "sun.astub"}) @SupportedLintOptions({"dotequals"}) @SupportedOptions({"checkclass"}) public final class InterningChecker extends BaseTypeChecker {}