public boolean isAnyMismatch() { return compareTo(LEGACY_WARNING) > 0; } }
if (superClass != null && (superClass.hasNullTypeAnnotations() || substitution != null)) { // annotations may enter when substituting a nested type variable NullAnnotationMatching status = analyse(superClass, providedType, null, substitution, nullStatus, providedExpression, CheckMode.BOUND_SUPER_CHECK); severity = severity.max(status.severity); if (severity == Severity.MISMATCH) return new NullAnnotationMatching(severity, nullStatus, superTypeHint); if (superInterfaces[i].hasNullTypeAnnotations() || substitution != null) { // annotations may enter when substituting a nested type variable NullAnnotationMatching status = analyse(superInterfaces[i], providedType, null, substitution, nullStatus, providedExpression, CheckMode.BOUND_SUPER_CHECK); severity = severity.max(status.severity); if (severity == Severity.MISMATCH) return new NullAnnotationMatching(severity, nullStatus, superTypeHint); severity = severity.max(dimSeverity); if (severity == Severity.MISMATCH) return NullAnnotationMatching.NULL_ANNOTATIONS_MISMATCH; long providedBits = providedNullTagBits(providedType); Severity s = computeNullProblemSeverity(requiredBits, providedBits, nullStatus, mode, requiredType.isTypeVariable()); if (s.isAnyMismatch() && requiredType.isWildcard() && requiredBits != 0) { if (((WildcardBinding) requiredType).determineNullBitsFromDeclaration(null, null) == 0) { severity = severity.max(s); if (!severity.isAnyMismatch() && (providedBits & TagBits.AnnotationNonNull) != 0) okStatus = okNonNullStatus(providedExpression); TypeBinding providedArgSubstitute = providedSubstitutes != null ? providedSubstitutes[i] : null; NullAnnotationMatching status = analyse(requiredArguments[i], providedArguments[i], providedArgSubstitute, substitution, -1, providedExpression, mode.toDetail()); severity = severity.max(status.severity); if (severity == Severity.MISMATCH)
if (superClass != null && (superClass.hasNullTypeAnnotations() || substitution != null)) { // annotations may enter when substituting a nested type variable NullAnnotationMatching status = analyse(superClass, providedType, null, substitution, nullStatus, providedExpression, CheckMode.BOUND_SUPER_CHECK); severity = severity.max(status.severity); if (severity == Severity.MISMATCH) return new NullAnnotationMatching(severity, nullStatus, superTypeHint); if (superInterfaces[i].hasNullTypeAnnotations() || substitution != null) { // annotations may enter when substituting a nested type variable NullAnnotationMatching status = analyse(superInterfaces[i], providedType, null, substitution, nullStatus, providedExpression, CheckMode.BOUND_SUPER_CHECK); severity = severity.max(status.severity); if (severity == Severity.MISMATCH) return new NullAnnotationMatching(severity, nullStatus, superTypeHint); severity = severity.max(dimSeverity); if (severity == Severity.MISMATCH) return NullAnnotationMatching.NULL_ANNOTATIONS_MISMATCH; long providedBits = providedNullTagBits(providedType); Severity s = computeNullProblemSeverity(requiredBits, providedBits, nullStatus, mode, requiredType.isTypeVariable()); if (s.isAnyMismatch() && requiredType.isWildcard() && requiredBits != 0) { if (((WildcardBinding) requiredType).determineNullBitsFromDeclaration(null, null) == 0) { severity = severity.max(s); if (!severity.isAnyMismatch() && (providedBits & TagBits.AnnotationNullMASK) == TagBits.AnnotationNonNull) okStatus = okNonNullStatus(providedExpression); TypeBinding providedArgSubstitute = providedSubstitutes != null ? providedSubstitutes[i] : null; NullAnnotationMatching status = analyse(requiredArguments[i], providedArguments[i], providedArgSubstitute, substitution, -1, providedExpression, mode.toDetail()); severity = severity.max(status.severity); if (severity == Severity.MISMATCH)
if (superClass != null && (superClass.hasNullTypeAnnotations() || substitution != null)) { // annotations may enter when substituting a nested type variable NullAnnotationMatching status = analyse(superClass, providedType, null, substitution, nullStatus, providedExpression, CheckMode.BOUND_SUPER_CHECK); severity = severity.max(status.severity); if (severity == Severity.MISMATCH) return new NullAnnotationMatching(severity, nullStatus, superTypeHint); if (superInterfaces[i].hasNullTypeAnnotations() || substitution != null) { // annotations may enter when substituting a nested type variable NullAnnotationMatching status = analyse(superInterfaces[i], providedType, null, substitution, nullStatus, providedExpression, CheckMode.BOUND_SUPER_CHECK); severity = severity.max(status.severity); if (severity == Severity.MISMATCH) return new NullAnnotationMatching(severity, nullStatus, superTypeHint); severity = severity.max(dimSeverity); if (severity == Severity.MISMATCH) return NullAnnotationMatching.NULL_ANNOTATIONS_MISMATCH; long providedBits = providedNullTagBits(providedType); Severity s = computeNullProblemSeverity(requiredBits, providedBits, nullStatus, mode, requiredType.isTypeVariable()); if (s.isAnyMismatch() && requiredType.isWildcard() && requiredBits != 0) { if (((WildcardBinding) requiredType).determineNullBitsFromDeclaration(null, null) == 0) { severity = severity.max(s); if (!severity.isAnyMismatch() && (providedBits & TagBits.AnnotationNonNull) != 0) okStatus = okNonNullStatus(providedExpression); TypeBinding providedArgSubstitute = providedSubstitutes != null ? providedSubstitutes[i] : null; NullAnnotationMatching status = analyse(requiredArguments[i], providedArguments[i], providedArgSubstitute, substitution, -1, providedExpression, mode.toDetail()); severity = severity.max(status.severity); if (severity == Severity.MISMATCH)
if (superClass != null && (superClass.hasNullTypeAnnotations() || substitution != null)) { // annotations may enter when substituting a nested type variable NullAnnotationMatching status = analyse(superClass, providedType, null, substitution, nullStatus, providedExpression, CheckMode.BOUND_SUPER_CHECK); severity = severity.max(status.severity); if (severity == Severity.MISMATCH) return new NullAnnotationMatching(severity, nullStatus, superTypeHint); if (superInterfaces[i].hasNullTypeAnnotations() || substitution != null) { // annotations may enter when substituting a nested type variable NullAnnotationMatching status = analyse(superInterfaces[i], providedType, null, substitution, nullStatus, providedExpression, CheckMode.BOUND_SUPER_CHECK); severity = severity.max(status.severity); if (severity == Severity.MISMATCH) return new NullAnnotationMatching(severity, nullStatus, superTypeHint); severity = severity.max(dimSeverity); if (severity == Severity.MISMATCH) return NullAnnotationMatching.NULL_ANNOTATIONS_MISMATCH; long providedBits = providedNullTagBits(providedType); Severity s = computeNullProblemSeverity(requiredBits, providedBits, nullStatus, mode, requiredType.isTypeVariable()); if (s.isAnyMismatch() && requiredType.isWildcard() && requiredBits != 0) { if (((WildcardBinding) requiredType).determineNullBitsFromDeclaration(null, null) == 0) { severity = severity.max(s); if (!severity.isAnyMismatch() && (providedBits & TagBits.AnnotationNullMASK) == TagBits.AnnotationNonNull) okStatus = okNonNullStatus(providedExpression); TypeBinding providedArgSubstitute = providedSubstitutes != null ? providedSubstitutes[i] : null; NullAnnotationMatching status = analyse(requiredArguments[i], providedArguments[i], providedArgSubstitute, substitution, -1, providedExpression, mode.toDetail()); severity = severity.max(status.severity); if (severity == Severity.MISMATCH)
if (superClass != null && (superClass.hasNullTypeAnnotations() || substitution != null)) { // annotations may enter when substituting a nested type variable NullAnnotationMatching status = analyse(superClass, providedType, null, substitution, nullStatus, providedExpression, CheckMode.BOUND_SUPER_CHECK); severity = severity.max(status.severity); if (severity == Severity.MISMATCH) return new NullAnnotationMatching(severity, nullStatus, superTypeHint); if (superInterfaces[i].hasNullTypeAnnotations() || substitution != null) { // annotations may enter when substituting a nested type variable NullAnnotationMatching status = analyse(superInterfaces[i], providedType, null, substitution, nullStatus, providedExpression, CheckMode.BOUND_SUPER_CHECK); severity = severity.max(status.severity); if (severity == Severity.MISMATCH) return new NullAnnotationMatching(severity, nullStatus, superTypeHint); severity = severity.max(dimSeverity); if (severity == Severity.MISMATCH) return NullAnnotationMatching.NULL_ANNOTATIONS_MISMATCH; long providedBits = providedNullTagBits(providedType); Severity s = computeNullProblemSeverity(requiredBits, providedBits, nullStatus, mode, requiredType.isTypeVariable()); if (s.isAnyMismatch() && requiredType.isWildcard() && requiredBits != 0) { if (((WildcardBinding) requiredType).determineNullBitsFromDeclaration(null, null) == 0) { severity = severity.max(s); if (!severity.isAnyMismatch() && (providedBits & TagBits.AnnotationNonNull) != 0) okStatus = okNonNullStatus(providedExpression); TypeBinding providedArgSubstitute = providedSubstitutes != null ? providedSubstitutes[i] : null; NullAnnotationMatching status = analyse(requiredArguments[i], providedArguments[i], providedArgSubstitute, substitution, -1, providedExpression, mode.toDetail()); severity = severity.max(status.severity); if (severity == Severity.MISMATCH)
public boolean isAnyMismatch() { return this.severity.isAnyMismatch(); } public boolean isUnchecked() { return this.severity == Severity.UNCHECKED; }
public boolean isAnyMismatch() { return this.severity.isAnyMismatch(); } public boolean isUnchecked() { return this.severity == Severity.UNCHECKED; }
public boolean isAnyMismatch() { return this.severity.isAnyMismatch(); } public boolean isUnchecked() { return this.severity == Severity.UNCHECKED; }
public boolean isAnyMismatch() { return this.severity.isAnyMismatch(); } public boolean isUnchecked() { return this.severity == Severity.UNCHECKED; }
public boolean isAnyMismatch() { return compareTo(LEGACY_WARNING) > 0; } }
public boolean isAnyMismatch() { return this.severity.isAnyMismatch(); } public boolean isUnchecked() { return this.severity == Severity.UNCHECKED; }
public Severity max(Severity severity) { if (compareTo(severity) < 0) return severity; return this; }
public Severity max(Severity severity) { if (compareTo(severity) < 0) return severity; return this; }
public boolean isAnyMismatch() { return compareTo(LEGACY_WARNING) > 0; } }
public boolean isAnyMismatch() { return compareTo(LEGACY_WARNING) > 0; } }
public boolean isAnyMismatch() { return compareTo(LEGACY_WARNING) > 0; } }
public Severity max(Severity severity) { if (compareTo(severity) < 0) return severity; return this; }
public Severity max(Severity severity) { if (compareTo(severity) < 0) return severity; return this; }
public Severity max(Severity severity) { if (compareTo(severity) < 0) return severity; return this; }