From ce6bb1b15ef4e01266cb9d10ae889f2f7d1f0957 Mon Sep 17 00:00:00 2001 From: Liam Miller-Cushon Date: Fri, 3 Jul 2026 04:04:00 -0700 Subject: [PATCH] Don't report `error.NonExistentClass` types as validation errors This works around a bug in KAPT. See [this equivalent logic in Dagger](https://github.com/google/dagger/blob/3f2dd8fbab0a71ec09dc4f9dc543d89ec108c7f0/dagger-compiler/main/java/dagger/internal/codegen/base/DaggerSuperficialValidation.java#L379-L389). RELNOTES=N/A PiperOrigin-RevId: 942068373 --- .../com/google/auto/common/SuperficialValidation.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/common/src/main/java/com/google/auto/common/SuperficialValidation.java b/common/src/main/java/com/google/auto/common/SuperficialValidation.java index 4f24f23490..39bcf17e09 100644 --- a/common/src/main/java/com/google/auto/common/SuperficialValidation.java +++ b/common/src/main/java/com/google/auto/common/SuperficialValidation.java @@ -15,6 +15,8 @@ */ package com.google.auto.common; +import static com.google.auto.common.MoreTypes.asTypeElement; + import java.util.List; import java.util.Map; import java.util.stream.StreamSupport; @@ -148,6 +150,15 @@ public Boolean visitDeclared(DeclaredType t, Void p) { @Override public Boolean visitError(ErrorType t, Void p) { + if (asTypeElement(t).getQualifiedName().contentEquals("error.NonExistentClass")) { + // See + // https://youtrack.jetbrains.com/issue/KT-34193/Kapt-CorrectErrorTypes-doesnt-work-for-generics + // KAPT will generate stubs referencing 'error.NonExistentClass' even when + // 'correctErrorTypes=true' is enabled. Thus, we can't treat 'error.NonExistentClass' as + // an actual error type, as that would completely prevent processing of stubs that + // exhibit this bug. + return true; + } return false; }