xref: /aosp_15_r20/external/ksp/api/api.base (revision af87fb4bb8e3042070d2a054e912924f599b22b7)
1*af87fb4bSXin Li// Signature format: 2.0
2*af87fb4bSXin Lipackage com.google.devtools.ksp {
3*af87fb4bSXin Li
4*af87fb4bSXin Li  @com.google.devtools.ksp.KspExperimental public final class KSTypeNotPresentException extends java.lang.RuntimeException {
5*af87fb4bSXin Li    ctor public KSTypeNotPresentException(@NonNull com.google.devtools.ksp.symbol.KSType ksType, @NonNull Throwable cause);
6*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getKsType();
7*af87fb4bSXin Li    property @NonNull public final com.google.devtools.ksp.symbol.KSType ksType;
8*af87fb4bSXin Li  }
9*af87fb4bSXin Li
10*af87fb4bSXin Li  @com.google.devtools.ksp.KspExperimental public final class KSTypesNotPresentException extends java.lang.RuntimeException {
11*af87fb4bSXin Li    ctor public KSTypesNotPresentException(@NonNull java.util.List<? extends com.google.devtools.ksp.symbol.KSType> ksTypes, @NonNull Throwable cause);
12*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSType> getKsTypes();
13*af87fb4bSXin Li    property @NonNull public final java.util.List<com.google.devtools.ksp.symbol.KSType> ksTypes;
14*af87fb4bSXin Li  }
15*af87fb4bSXin Li
16*af87fb4bSXin Li  @kotlin.RequiresOptIn(message="This API is experimental." + "It may be changed in the future without notice or might be removed.") @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) public @interface KspExperimental {
17*af87fb4bSXin Li  }
18*af87fb4bSXin Li
19*af87fb4bSXin Li  public final class UtilsKt {
20*af87fb4bSXin Li    method @Nullable public static com.google.devtools.ksp.symbol.KSClassDeclaration closestClassDeclaration(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
21*af87fb4bSXin Li    method @NonNull public static com.google.devtools.ksp.symbol.KSClassDeclaration findActualType(@NonNull com.google.devtools.ksp.symbol.KSTypeAlias);
22*af87fb4bSXin Li    method @NonNull public static kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSType> getAllSuperTypes(@NonNull com.google.devtools.ksp.symbol.KSClassDeclaration);
23*af87fb4bSXin Li    method @NonNull @com.google.devtools.ksp.KspExperimental public static <T extends java.lang.annotation.Annotation> kotlin.sequences.Sequence<T> getAnnotationsByType(@NonNull com.google.devtools.ksp.symbol.KSAnnotated, @NonNull kotlin.reflect.KClass<T> annotationKClass);
24*af87fb4bSXin Li    method @Nullable public static com.google.devtools.ksp.symbol.KSClassDeclaration getClassDeclarationByName(@NonNull com.google.devtools.ksp.processing.Resolver, @NonNull String name);
25*af87fb4bSXin Li    method public static inline <reified T> com.google.devtools.ksp.symbol.KSClassDeclaration getClassDeclarationByName(@NonNull com.google.devtools.ksp.processing.Resolver);
26*af87fb4bSXin Li    method @NonNull public static kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSFunctionDeclaration> getConstructors(@NonNull com.google.devtools.ksp.symbol.KSClassDeclaration);
27*af87fb4bSXin Li    method @Nullable public static com.google.devtools.ksp.symbol.KSFile getContainingFile(@NonNull com.google.devtools.ksp.symbol.KSNode);
28*af87fb4bSXin Li    method @NonNull public static kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSFunctionDeclaration> getDeclaredFunctions(@NonNull com.google.devtools.ksp.symbol.KSClassDeclaration);
29*af87fb4bSXin Li    method @NonNull public static kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSPropertyDeclaration> getDeclaredProperties(@NonNull com.google.devtools.ksp.symbol.KSClassDeclaration);
30*af87fb4bSXin Li    method @NonNull public static kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSFunctionDeclaration> getFunctionDeclarationsByName(@NonNull com.google.devtools.ksp.processing.Resolver, @NonNull String name, boolean includeTopLevel = false);
31*af87fb4bSXin Li    method @NonNull public static java.util.List<com.google.devtools.ksp.symbol.KSTypeArgument> getInnerArguments(@NonNull com.google.devtools.ksp.symbol.KSType);
32*af87fb4bSXin Li    method @Nullable @com.google.devtools.ksp.KspExperimental public static com.google.devtools.ksp.symbol.KSClassDeclaration getJavaClassByName(@NonNull com.google.devtools.ksp.processing.Resolver, @NonNull com.google.devtools.ksp.symbol.KSName name);
33*af87fb4bSXin Li    method @Nullable @com.google.devtools.ksp.KspExperimental public static com.google.devtools.ksp.symbol.KSClassDeclaration getJavaClassByName(@NonNull com.google.devtools.ksp.processing.Resolver, @NonNull String name);
34*af87fb4bSXin Li    method @Nullable @com.google.devtools.ksp.KspExperimental public static com.google.devtools.ksp.symbol.KSClassDeclaration getKotlinClassByName(@NonNull com.google.devtools.ksp.processing.Resolver, @NonNull com.google.devtools.ksp.symbol.KSName name);
35*af87fb4bSXin Li    method @Nullable @com.google.devtools.ksp.KspExperimental public static com.google.devtools.ksp.symbol.KSClassDeclaration getKotlinClassByName(@NonNull com.google.devtools.ksp.processing.Resolver, @NonNull String name);
36*af87fb4bSXin Li    method @Nullable public static com.google.devtools.ksp.symbol.KSType getOuterType(@NonNull com.google.devtools.ksp.symbol.KSType);
37*af87fb4bSXin Li    method @Nullable public static com.google.devtools.ksp.symbol.KSPropertyDeclaration getPropertyDeclarationByName(@NonNull com.google.devtools.ksp.processing.Resolver, @NonNull String name, boolean includeTopLevel = false);
38*af87fb4bSXin Li    method @NonNull public static com.google.devtools.ksp.symbol.Visibility getVisibility(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
39*af87fb4bSXin Li    method public static boolean isAbstract(@NonNull com.google.devtools.ksp.symbol.KSClassDeclaration);
40*af87fb4bSXin Li    method public static boolean isAbstract(@NonNull com.google.devtools.ksp.symbol.KSPropertyDeclaration);
41*af87fb4bSXin Li    method @com.google.devtools.ksp.KspExperimental public static <T extends java.lang.annotation.Annotation> boolean isAnnotationPresent(@NonNull com.google.devtools.ksp.symbol.KSAnnotated, @NonNull kotlin.reflect.KClass<T> annotationKClass);
42*af87fb4bSXin Li    method public static boolean isConstructor(@NonNull com.google.devtools.ksp.symbol.KSFunctionDeclaration);
43*af87fb4bSXin Li    method public static boolean isDefault(@NonNull com.google.devtools.ksp.symbol.KSValueArgument);
44*af87fb4bSXin Li    method public static boolean isInternal(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
45*af87fb4bSXin Li    method public static boolean isJavaPackagePrivate(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
46*af87fb4bSXin Li    method public static boolean isLocal(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
47*af87fb4bSXin Li    method public static boolean isOpen(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
48*af87fb4bSXin Li    method public static boolean isPrivate(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
49*af87fb4bSXin Li    method public static boolean isProtected(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
50*af87fb4bSXin Li    method public static boolean isPublic(@NonNull com.google.devtools.ksp.symbol.KSDeclaration);
51*af87fb4bSXin Li    method public static boolean isVisibleFrom(@NonNull com.google.devtools.ksp.symbol.KSDeclaration, @NonNull com.google.devtools.ksp.symbol.KSDeclaration other);
52*af87fb4bSXin Li    method public static boolean validate(@NonNull com.google.devtools.ksp.symbol.KSNode, @NonNull kotlin.jvm.functions.Function2<? super com.google.devtools.ksp.symbol.KSNode,? super com.google.devtools.ksp.symbol.KSNode,java.lang.Boolean> predicate = { _, _ -> return true });
53*af87fb4bSXin Li    field @NonNull public static final String ExceptionMessage = "please file a bug at https://github.com/google/ksp/issues/new";
54*af87fb4bSXin Li  }
55*af87fb4bSXin Li
56*af87fb4bSXin Li}
57*af87fb4bSXin Li
58*af87fb4bSXin Lipackage com.google.devtools.ksp.processing {
59*af87fb4bSXin Li
60*af87fb4bSXin Li  public interface CodeGenerator {
61*af87fb4bSXin Li    method public void associate(@NonNull java.util.List<? extends com.google.devtools.ksp.symbol.KSFile> sources, @NonNull String packageName, @NonNull String fileName, @NonNull String extensionName = "kt");
62*af87fb4bSXin Li    method public void associateByPath(@NonNull java.util.List<? extends com.google.devtools.ksp.symbol.KSFile> sources, @NonNull String path, @NonNull String extensionName = "kt");
63*af87fb4bSXin Li    method public void associateWithClasses(@NonNull java.util.List<? extends com.google.devtools.ksp.symbol.KSClassDeclaration> classes, @NonNull String packageName, @NonNull String fileName, @NonNull String extensionName = "kt");
64*af87fb4bSXin Li    method @NonNull public java.io.OutputStream createNewFile(@NonNull com.google.devtools.ksp.processing.Dependencies dependencies, @NonNull String packageName, @NonNull String fileName, @NonNull String extensionName = "kt");
65*af87fb4bSXin Li    method @NonNull public java.io.OutputStream createNewFileByPath(@NonNull com.google.devtools.ksp.processing.Dependencies dependencies, @NonNull String path, @NonNull String extensionName = "kt");
66*af87fb4bSXin Li    method @NonNull public java.util.Collection<java.io.File> getGeneratedFile();
67*af87fb4bSXin Li    property @NonNull public abstract java.util.Collection<java.io.File> generatedFile;
68*af87fb4bSXin Li  }
69*af87fb4bSXin Li
70*af87fb4bSXin Li  public final class Dependencies {
71*af87fb4bSXin Li    ctor public Dependencies(boolean aggregating, @NonNull com.google.devtools.ksp.symbol.KSFile... sources);
72*af87fb4bSXin Li    method public boolean getAggregating();
73*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSFile> getOriginatingFiles();
74*af87fb4bSXin Li    method public boolean isAllSources();
75*af87fb4bSXin Li    property public final boolean aggregating;
76*af87fb4bSXin Li    property public final boolean isAllSources;
77*af87fb4bSXin Li    property @NonNull public final java.util.List<com.google.devtools.ksp.symbol.KSFile> originatingFiles;
78*af87fb4bSXin Li    field @NonNull public static final com.google.devtools.ksp.processing.Dependencies.Companion Companion;
79*af87fb4bSXin Li  }
80*af87fb4bSXin Li
81*af87fb4bSXin Li  public static final class Dependencies.Companion {
82*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.processing.Dependencies getALL_FILES();
83*af87fb4bSXin Li    property @NonNull public final com.google.devtools.ksp.processing.Dependencies ALL_FILES;
84*af87fb4bSXin Li  }
85*af87fb4bSXin Li
86*af87fb4bSXin Li  public interface JsPlatformInfo extends com.google.devtools.ksp.processing.PlatformInfo {
87*af87fb4bSXin Li  }
88*af87fb4bSXin Li
89*af87fb4bSXin Li  public interface JvmPlatformInfo extends com.google.devtools.ksp.processing.PlatformInfo {
90*af87fb4bSXin Li    method @NonNull public String getJvmTarget();
91*af87fb4bSXin Li    property @NonNull public abstract String jvmTarget;
92*af87fb4bSXin Li  }
93*af87fb4bSXin Li
94*af87fb4bSXin Li  public interface KSBuiltIns {
95*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getAnnotationType();
96*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getAnyType();
97*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getArrayType();
98*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getBooleanType();
99*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getByteType();
100*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getCharType();
101*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getDoubleType();
102*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getFloatType();
103*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getIntType();
104*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getIterableType();
105*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getLongType();
106*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getNothingType();
107*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getNumberType();
108*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getShortType();
109*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getStringType();
110*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType getUnitType();
111*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType annotationType;
112*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType anyType;
113*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType arrayType;
114*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType booleanType;
115*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType byteType;
116*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType charType;
117*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType doubleType;
118*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType floatType;
119*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType intType;
120*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType iterableType;
121*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType longType;
122*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType nothingType;
123*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType numberType;
124*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType shortType;
125*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType stringType;
126*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSType unitType;
127*af87fb4bSXin Li  }
128*af87fb4bSXin Li
129*af87fb4bSXin Li  public interface KSPLogger {
130*af87fb4bSXin Li    method public void error(@NonNull String message, @Nullable com.google.devtools.ksp.symbol.KSNode symbol = null);
131*af87fb4bSXin Li    method public void exception(@NonNull Throwable e);
132*af87fb4bSXin Li    method public void info(@NonNull String message, @Nullable com.google.devtools.ksp.symbol.KSNode symbol = null);
133*af87fb4bSXin Li    method public void logging(@NonNull String message, @Nullable com.google.devtools.ksp.symbol.KSNode symbol = null);
134*af87fb4bSXin Li    method public void warn(@NonNull String message, @Nullable com.google.devtools.ksp.symbol.KSNode symbol = null);
135*af87fb4bSXin Li  }
136*af87fb4bSXin Li
137*af87fb4bSXin Li  public interface NativePlatformInfo extends com.google.devtools.ksp.processing.PlatformInfo {
138*af87fb4bSXin Li    method @NonNull public String getTargetName();
139*af87fb4bSXin Li    property @NonNull public abstract String targetName;
140*af87fb4bSXin Li  }
141*af87fb4bSXin Li
142*af87fb4bSXin Li  public interface PlatformInfo {
143*af87fb4bSXin Li    method @NonNull public String getPlatformName();
144*af87fb4bSXin Li    property @NonNull public abstract String platformName;
145*af87fb4bSXin Li  }
146*af87fb4bSXin Li
147*af87fb4bSXin Li  public interface Resolver {
148*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSTypeReference createKSTypeReferenceFromKSType(@NonNull com.google.devtools.ksp.symbol.KSType type);
149*af87fb4bSXin Li    method @NonNull @com.google.devtools.ksp.KspExperimental public java.util.Set<com.google.devtools.ksp.symbol.Modifier> effectiveJavaModifiers(@NonNull com.google.devtools.ksp.symbol.KSDeclaration declaration);
150*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSFile> getAllFiles();
151*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.processing.KSBuiltIns getBuiltIns();
152*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSClassDeclaration getClassDeclarationByName(@NonNull com.google.devtools.ksp.symbol.KSName name);
153*af87fb4bSXin Li    method @NonNull @com.google.devtools.ksp.KspExperimental public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSDeclaration> getDeclarationsFromPackage(@NonNull String packageName);
154*af87fb4bSXin Li    method @NonNull @com.google.devtools.ksp.KspExperimental public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSDeclaration> getDeclarationsInSourceOrder(@NonNull com.google.devtools.ksp.symbol.KSDeclarationContainer container);
155*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSFunctionDeclaration> getFunctionDeclarationsByName(@NonNull com.google.devtools.ksp.symbol.KSName name, boolean includeTopLevel = false);
156*af87fb4bSXin Li    method @NonNull @com.google.devtools.ksp.KspExperimental public com.google.devtools.ksp.symbol.KSTypeReference getJavaWildcard(@NonNull com.google.devtools.ksp.symbol.KSTypeReference reference);
157*af87fb4bSXin Li    method @NonNull @com.google.devtools.ksp.KspExperimental public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSType> getJvmCheckedException(@NonNull com.google.devtools.ksp.symbol.KSFunctionDeclaration function);
158*af87fb4bSXin Li    method @NonNull @com.google.devtools.ksp.KspExperimental public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSType> getJvmCheckedException(@NonNull com.google.devtools.ksp.symbol.KSPropertyAccessor accessor);
159*af87fb4bSXin Li    method @Nullable @com.google.devtools.ksp.KspExperimental public String getJvmName(@NonNull com.google.devtools.ksp.symbol.KSFunctionDeclaration declaration);
160*af87fb4bSXin Li    method @Nullable @com.google.devtools.ksp.KspExperimental public String getJvmName(@NonNull com.google.devtools.ksp.symbol.KSPropertyAccessor accessor);
161*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSName getKSNameFromString(@NonNull String name);
162*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSFile> getNewFiles();
163*af87fb4bSXin Li    method @Nullable @com.google.devtools.ksp.KspExperimental public String getOwnerJvmClassName(@NonNull com.google.devtools.ksp.symbol.KSPropertyDeclaration declaration);
164*af87fb4bSXin Li    method @Nullable @com.google.devtools.ksp.KspExperimental public String getOwnerJvmClassName(@NonNull com.google.devtools.ksp.symbol.KSFunctionDeclaration declaration);
165*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSPropertyDeclaration getPropertyDeclarationByName(@NonNull com.google.devtools.ksp.symbol.KSName name, boolean includeTopLevel = false);
166*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSAnnotated> getSymbolsWithAnnotation(@NonNull String annotationName, boolean inDepth = false);
167*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSTypeArgument getTypeArgument(@NonNull com.google.devtools.ksp.symbol.KSTypeReference typeRef, @NonNull com.google.devtools.ksp.symbol.Variance variance);
168*af87fb4bSXin Li    method @com.google.devtools.ksp.KspExperimental public boolean isJavaRawType(@NonNull com.google.devtools.ksp.symbol.KSType type);
169*af87fb4bSXin Li    method @Nullable @com.google.devtools.ksp.KspExperimental public com.google.devtools.ksp.symbol.KSName mapJavaNameToKotlin(@NonNull com.google.devtools.ksp.symbol.KSName javaName);
170*af87fb4bSXin Li    method @Nullable @com.google.devtools.ksp.KspExperimental public com.google.devtools.ksp.symbol.KSName mapKotlinNameToJava(@NonNull com.google.devtools.ksp.symbol.KSName kotlinName);
171*af87fb4bSXin Li    method @Nullable @com.google.devtools.ksp.KspExperimental public String mapToJvmSignature(@NonNull com.google.devtools.ksp.symbol.KSDeclaration declaration);
172*af87fb4bSXin Li    method public boolean overrides(@NonNull com.google.devtools.ksp.symbol.KSDeclaration overrider, @NonNull com.google.devtools.ksp.symbol.KSDeclaration overridee);
173*af87fb4bSXin Li    method public boolean overrides(@NonNull com.google.devtools.ksp.symbol.KSDeclaration overrider, @NonNull com.google.devtools.ksp.symbol.KSDeclaration overridee, @NonNull com.google.devtools.ksp.symbol.KSClassDeclaration containingClass);
174*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.processing.KSBuiltIns builtIns;
175*af87fb4bSXin Li  }
176*af87fb4bSXin Li
177*af87fb4bSXin Li  public interface SymbolProcessor {
178*af87fb4bSXin Li    method public default void finish();
179*af87fb4bSXin Li    method public default void onError();
180*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSAnnotated> process(@NonNull com.google.devtools.ksp.processing.Resolver resolver);
181*af87fb4bSXin Li  }
182*af87fb4bSXin Li
183*af87fb4bSXin Li  public final class SymbolProcessorEnvironment {
184*af87fb4bSXin Li    ctor public SymbolProcessorEnvironment(@NonNull java.util.Map<java.lang.String,java.lang.String> options, @NonNull kotlin.KotlinVersion kotlinVersion, @NonNull com.google.devtools.ksp.processing.CodeGenerator codeGenerator, @NonNull com.google.devtools.ksp.processing.KSPLogger logger, @NonNull kotlin.KotlinVersion apiVersion, @NonNull kotlin.KotlinVersion compilerVersion, @NonNull java.util.List<? extends com.google.devtools.ksp.processing.PlatformInfo> platforms);
185*af87fb4bSXin Li    ctor public SymbolProcessorEnvironment(@NonNull java.util.Map<java.lang.String,java.lang.String> options, @NonNull kotlin.KotlinVersion kotlinVersion, @NonNull com.google.devtools.ksp.processing.CodeGenerator codeGenerator, @NonNull com.google.devtools.ksp.processing.KSPLogger logger);
186*af87fb4bSXin Li    method @NonNull public kotlin.KotlinVersion getApiVersion();
187*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.processing.CodeGenerator getCodeGenerator();
188*af87fb4bSXin Li    method @NonNull public kotlin.KotlinVersion getCompilerVersion();
189*af87fb4bSXin Li    method @NonNull public kotlin.KotlinVersion getKotlinVersion();
190*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.processing.KSPLogger getLogger();
191*af87fb4bSXin Li    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getOptions();
192*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.processing.PlatformInfo> getPlatforms();
193*af87fb4bSXin Li    property @NonNull public final kotlin.KotlinVersion apiVersion;
194*af87fb4bSXin Li    property @NonNull public final com.google.devtools.ksp.processing.CodeGenerator codeGenerator;
195*af87fb4bSXin Li    property @NonNull public final kotlin.KotlinVersion compilerVersion;
196*af87fb4bSXin Li    property @NonNull public final kotlin.KotlinVersion kotlinVersion;
197*af87fb4bSXin Li    property @NonNull public final com.google.devtools.ksp.processing.KSPLogger logger;
198*af87fb4bSXin Li    property @NonNull public final java.util.Map<java.lang.String,java.lang.String> options;
199*af87fb4bSXin Li    property @NonNull public final java.util.List<com.google.devtools.ksp.processing.PlatformInfo> platforms;
200*af87fb4bSXin Li  }
201*af87fb4bSXin Li
202*af87fb4bSXin Li  public fun interface SymbolProcessorProvider {
203*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.processing.SymbolProcessor create(@NonNull com.google.devtools.ksp.processing.SymbolProcessorEnvironment environment);
204*af87fb4bSXin Li  }
205*af87fb4bSXin Li
206*af87fb4bSXin Li  public interface UnknownPlatformInfo extends com.google.devtools.ksp.processing.PlatformInfo {
207*af87fb4bSXin Li  }
208*af87fb4bSXin Li
209*af87fb4bSXin Li}
210*af87fb4bSXin Li
211*af87fb4bSXin Lipackage com.google.devtools.ksp.symbol {
212*af87fb4bSXin Li
213*af87fb4bSXin Li  public enum AnnotationUseSiteTarget {
214*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.AnnotationUseSiteTarget DELEGATE;
215*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.AnnotationUseSiteTarget FIELD;
216*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.AnnotationUseSiteTarget FILE;
217*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.AnnotationUseSiteTarget GET;
218*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.AnnotationUseSiteTarget PARAM;
219*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.AnnotationUseSiteTarget PROPERTY;
220*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.AnnotationUseSiteTarget RECEIVER;
221*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.AnnotationUseSiteTarget SET;
222*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.AnnotationUseSiteTarget SETPARAM;
223*af87fb4bSXin Li  }
224*af87fb4bSXin Li
225*af87fb4bSXin Li  public enum ClassKind {
226*af87fb4bSXin Li    method public final String getType();
227*af87fb4bSXin Li    property public final String type;
228*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.ClassKind ANNOTATION_CLASS;
229*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.ClassKind CLASS;
230*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.ClassKind ENUM_CLASS;
231*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.ClassKind ENUM_ENTRY;
232*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.ClassKind INTERFACE;
233*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.ClassKind OBJECT;
234*af87fb4bSXin Li  }
235*af87fb4bSXin Li
236*af87fb4bSXin Li  public final class FileLocation extends com.google.devtools.ksp.symbol.Location {
237*af87fb4bSXin Li    ctor public FileLocation(@NonNull String filePath, int lineNumber);
238*af87fb4bSXin Li    method @NonNull public String component1();
239*af87fb4bSXin Li    method public int component2();
240*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.FileLocation copy(@NonNull String filePath, int lineNumber);
241*af87fb4bSXin Li    method @NonNull public String getFilePath();
242*af87fb4bSXin Li    method public int getLineNumber();
243*af87fb4bSXin Li    property @NonNull public final String filePath;
244*af87fb4bSXin Li    property public final int lineNumber;
245*af87fb4bSXin Li  }
246*af87fb4bSXin Li
247*af87fb4bSXin Li  public enum FunctionKind {
248*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.FunctionKind ANONYMOUS;
249*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.FunctionKind LAMBDA;
250*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.FunctionKind MEMBER;
251*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.FunctionKind STATIC;
252*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.FunctionKind TOP_LEVEL;
253*af87fb4bSXin Li  }
254*af87fb4bSXin Li
255*af87fb4bSXin Li  public interface KSAnnotated extends com.google.devtools.ksp.symbol.KSNode {
256*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSAnnotation> getAnnotations();
257*af87fb4bSXin Li    property @NonNull public abstract kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSAnnotation> annotations;
258*af87fb4bSXin Li  }
259*af87fb4bSXin Li
260*af87fb4bSXin Li  public interface KSAnnotation extends com.google.devtools.ksp.symbol.KSNode {
261*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSTypeReference getAnnotationType();
262*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSValueArgument> getArguments();
263*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSValueArgument> getDefaultArguments();
264*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSName getShortName();
265*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.AnnotationUseSiteTarget getUseSiteTarget();
266*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSTypeReference annotationType;
267*af87fb4bSXin Li    property @NonNull public abstract java.util.List<com.google.devtools.ksp.symbol.KSValueArgument> arguments;
268*af87fb4bSXin Li    property @NonNull public abstract java.util.List<com.google.devtools.ksp.symbol.KSValueArgument> defaultArguments;
269*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSName shortName;
270*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.AnnotationUseSiteTarget useSiteTarget;
271*af87fb4bSXin Li  }
272*af87fb4bSXin Li
273*af87fb4bSXin Li  public interface KSCallableReference extends com.google.devtools.ksp.symbol.KSReferenceElement {
274*af87fb4bSXin Li    method public default <D, R> R accept(@NonNull com.google.devtools.ksp.symbol.KSVisitor<D,R> visitor, @Nullable D data);
275*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSValueParameter> getFunctionParameters();
276*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSTypeReference getReceiverType();
277*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSTypeReference getReturnType();
278*af87fb4bSXin Li    property @NonNull public abstract java.util.List<com.google.devtools.ksp.symbol.KSValueParameter> functionParameters;
279*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSTypeReference receiverType;
280*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSTypeReference returnType;
281*af87fb4bSXin Li  }
282*af87fb4bSXin Li
283*af87fb4bSXin Li  public interface KSClassDeclaration extends com.google.devtools.ksp.symbol.KSDeclaration com.google.devtools.ksp.symbol.KSDeclarationContainer {
284*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType asStarProjectedType();
285*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType asType(@NonNull java.util.List<? extends com.google.devtools.ksp.symbol.KSTypeArgument> typeArguments);
286*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSFunctionDeclaration> getAllFunctions();
287*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSPropertyDeclaration> getAllProperties();
288*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.ClassKind getClassKind();
289*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSFunctionDeclaration getPrimaryConstructor();
290*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSClassDeclaration> getSealedSubclasses();
291*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSTypeReference> getSuperTypes();
292*af87fb4bSXin Li    method public boolean isCompanionObject();
293*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.ClassKind classKind;
294*af87fb4bSXin Li    property public abstract boolean isCompanionObject;
295*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSFunctionDeclaration primaryConstructor;
296*af87fb4bSXin Li    property @NonNull public abstract kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSTypeReference> superTypes;
297*af87fb4bSXin Li  }
298*af87fb4bSXin Li
299*af87fb4bSXin Li  public interface KSClassifierReference extends com.google.devtools.ksp.symbol.KSReferenceElement {
300*af87fb4bSXin Li    method public default <D, R> R accept(@NonNull com.google.devtools.ksp.symbol.KSVisitor<D,R> visitor, @Nullable D data);
301*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSClassifierReference getQualifier();
302*af87fb4bSXin Li    method @NonNull public String referencedName();
303*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSClassifierReference qualifier;
304*af87fb4bSXin Li  }
305*af87fb4bSXin Li
306*af87fb4bSXin Li  public interface KSDeclaration extends com.google.devtools.ksp.symbol.KSModifierListOwner com.google.devtools.ksp.symbol.KSAnnotated com.google.devtools.ksp.symbol.KSExpectActual {
307*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSFile getContainingFile();
308*af87fb4bSXin Li    method @Nullable public String getDocString();
309*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSName getPackageName();
310*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSDeclaration getParentDeclaration();
311*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSName getQualifiedName();
312*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSName getSimpleName();
313*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSTypeParameter> getTypeParameters();
314*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSFile containingFile;
315*af87fb4bSXin Li    property @Nullable public abstract String docString;
316*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSName packageName;
317*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSDeclaration parentDeclaration;
318*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSName qualifiedName;
319*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSName simpleName;
320*af87fb4bSXin Li    property @NonNull public abstract java.util.List<com.google.devtools.ksp.symbol.KSTypeParameter> typeParameters;
321*af87fb4bSXin Li  }
322*af87fb4bSXin Li
323*af87fb4bSXin Li  public interface KSDeclarationContainer extends com.google.devtools.ksp.symbol.KSNode {
324*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSDeclaration> getDeclarations();
325*af87fb4bSXin Li    property @NonNull public abstract kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSDeclaration> declarations;
326*af87fb4bSXin Li  }
327*af87fb4bSXin Li
328*af87fb4bSXin Li  public interface KSDefNonNullReference extends com.google.devtools.ksp.symbol.KSReferenceElement {
329*af87fb4bSXin Li    method public default <D, R> R accept(@NonNull com.google.devtools.ksp.symbol.KSVisitor<D,R> visitor, @Nullable D data);
330*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSClassifierReference getEnclosedType();
331*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSClassifierReference enclosedType;
332*af87fb4bSXin Li  }
333*af87fb4bSXin Li
334*af87fb4bSXin Li  public interface KSDynamicReference extends com.google.devtools.ksp.symbol.KSReferenceElement {
335*af87fb4bSXin Li  }
336*af87fb4bSXin Li
337*af87fb4bSXin Li  public interface KSExpectActual {
338*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSDeclaration> findActuals();
339*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSDeclaration> findExpects();
340*af87fb4bSXin Li    method public boolean isActual();
341*af87fb4bSXin Li    method public boolean isExpect();
342*af87fb4bSXin Li    property public abstract boolean isActual;
343*af87fb4bSXin Li    property public abstract boolean isExpect;
344*af87fb4bSXin Li  }
345*af87fb4bSXin Li
346*af87fb4bSXin Li  public interface KSFile extends com.google.devtools.ksp.symbol.KSDeclarationContainer com.google.devtools.ksp.symbol.KSAnnotated {
347*af87fb4bSXin Li    method @NonNull public String getFileName();
348*af87fb4bSXin Li    method @NonNull public String getFilePath();
349*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSName getPackageName();
350*af87fb4bSXin Li    property @NonNull public abstract String fileName;
351*af87fb4bSXin Li    property @NonNull public abstract String filePath;
352*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSName packageName;
353*af87fb4bSXin Li  }
354*af87fb4bSXin Li
355*af87fb4bSXin Li  public interface KSFunction {
356*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSType getExtensionReceiverType();
357*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSType> getParameterTypes();
358*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSType getReturnType();
359*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSTypeParameter> getTypeParameters();
360*af87fb4bSXin Li    method public boolean isError();
361*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSType extensionReceiverType;
362*af87fb4bSXin Li    property public abstract boolean isError;
363*af87fb4bSXin Li    property @NonNull public abstract java.util.List<com.google.devtools.ksp.symbol.KSType> parameterTypes;
364*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSType returnType;
365*af87fb4bSXin Li    property @NonNull public abstract java.util.List<com.google.devtools.ksp.symbol.KSTypeParameter> typeParameters;
366*af87fb4bSXin Li  }
367*af87fb4bSXin Li
368*af87fb4bSXin Li  public interface KSFunctionDeclaration extends com.google.devtools.ksp.symbol.KSDeclaration com.google.devtools.ksp.symbol.KSDeclarationContainer {
369*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSFunction asMemberOf(@NonNull com.google.devtools.ksp.symbol.KSType containing);
370*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSDeclaration findOverridee();
371*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSTypeReference getExtensionReceiver();
372*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.FunctionKind getFunctionKind();
373*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSValueParameter> getParameters();
374*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSTypeReference getReturnType();
375*af87fb4bSXin Li    method public boolean isAbstract();
376*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSTypeReference extensionReceiver;
377*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.FunctionKind functionKind;
378*af87fb4bSXin Li    property public abstract boolean isAbstract;
379*af87fb4bSXin Li    property @NonNull public abstract java.util.List<com.google.devtools.ksp.symbol.KSValueParameter> parameters;
380*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSTypeReference returnType;
381*af87fb4bSXin Li  }
382*af87fb4bSXin Li
383*af87fb4bSXin Li  public interface KSModifierListOwner extends com.google.devtools.ksp.symbol.KSNode {
384*af87fb4bSXin Li    method @NonNull public java.util.Set<com.google.devtools.ksp.symbol.Modifier> getModifiers();
385*af87fb4bSXin Li    property @NonNull public abstract java.util.Set<com.google.devtools.ksp.symbol.Modifier> modifiers;
386*af87fb4bSXin Li  }
387*af87fb4bSXin Li
388*af87fb4bSXin Li  public interface KSName {
389*af87fb4bSXin Li    method @NonNull public String asString();
390*af87fb4bSXin Li    method @NonNull public String getQualifier();
391*af87fb4bSXin Li    method @NonNull public String getShortName();
392*af87fb4bSXin Li  }
393*af87fb4bSXin Li
394*af87fb4bSXin Li  public interface KSNode {
395*af87fb4bSXin Li    method public <D, R> R accept(@NonNull com.google.devtools.ksp.symbol.KSVisitor<D,R> visitor, @Nullable D data);
396*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.Location getLocation();
397*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.Origin getOrigin();
398*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSNode getParent();
399*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.Location location;
400*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.Origin origin;
401*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSNode parent;
402*af87fb4bSXin Li  }
403*af87fb4bSXin Li
404*af87fb4bSXin Li  public interface KSParenthesizedReference extends com.google.devtools.ksp.symbol.KSReferenceElement {
405*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSReferenceElement getElement();
406*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSReferenceElement element;
407*af87fb4bSXin Li  }
408*af87fb4bSXin Li
409*af87fb4bSXin Li  public interface KSPropertyAccessor extends com.google.devtools.ksp.symbol.KSAnnotated com.google.devtools.ksp.symbol.KSModifierListOwner {
410*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSPropertyDeclaration getReceiver();
411*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSPropertyDeclaration receiver;
412*af87fb4bSXin Li  }
413*af87fb4bSXin Li
414*af87fb4bSXin Li  public interface KSPropertyDeclaration extends com.google.devtools.ksp.symbol.KSDeclaration {
415*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType asMemberOf(@NonNull com.google.devtools.ksp.symbol.KSType containing);
416*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSPropertyDeclaration findOverridee();
417*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSTypeReference getExtensionReceiver();
418*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSPropertyGetter getGetter();
419*af87fb4bSXin Li    method public boolean getHasBackingField();
420*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSPropertySetter getSetter();
421*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSTypeReference getType();
422*af87fb4bSXin Li    method public boolean isDelegated();
423*af87fb4bSXin Li    method public boolean isMutable();
424*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSTypeReference extensionReceiver;
425*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSPropertyGetter getter;
426*af87fb4bSXin Li    property public abstract boolean hasBackingField;
427*af87fb4bSXin Li    property public abstract boolean isMutable;
428*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSPropertySetter setter;
429*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSTypeReference type;
430*af87fb4bSXin Li  }
431*af87fb4bSXin Li
432*af87fb4bSXin Li  public interface KSPropertyGetter extends com.google.devtools.ksp.symbol.KSPropertyAccessor {
433*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSTypeReference getReturnType();
434*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSTypeReference returnType;
435*af87fb4bSXin Li  }
436*af87fb4bSXin Li
437*af87fb4bSXin Li  public interface KSPropertySetter extends com.google.devtools.ksp.symbol.KSPropertyAccessor {
438*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSValueParameter getParameter();
439*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSValueParameter parameter;
440*af87fb4bSXin Li  }
441*af87fb4bSXin Li
442*af87fb4bSXin Li  public interface KSReferenceElement extends com.google.devtools.ksp.symbol.KSNode {
443*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSTypeArgument> getTypeArguments();
444*af87fb4bSXin Li    property @NonNull public abstract java.util.List<com.google.devtools.ksp.symbol.KSTypeArgument> typeArguments;
445*af87fb4bSXin Li  }
446*af87fb4bSXin Li
447*af87fb4bSXin Li  public interface KSType {
448*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSAnnotation> getAnnotations();
449*af87fb4bSXin Li    method @NonNull public java.util.List<com.google.devtools.ksp.symbol.KSTypeArgument> getArguments();
450*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSDeclaration getDeclaration();
451*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.Nullability getNullability();
452*af87fb4bSXin Li    method public boolean isAssignableFrom(@NonNull com.google.devtools.ksp.symbol.KSType that);
453*af87fb4bSXin Li    method public boolean isCovarianceFlexible();
454*af87fb4bSXin Li    method public boolean isError();
455*af87fb4bSXin Li    method public boolean isFunctionType();
456*af87fb4bSXin Li    method public boolean isMarkedNullable();
457*af87fb4bSXin Li    method public boolean isMutabilityFlexible();
458*af87fb4bSXin Li    method public boolean isSuspendFunctionType();
459*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType makeNotNullable();
460*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType makeNullable();
461*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType replace(@NonNull java.util.List<? extends com.google.devtools.ksp.symbol.KSTypeArgument> arguments);
462*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType starProjection();
463*af87fb4bSXin Li    property @NonNull public abstract kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSAnnotation> annotations;
464*af87fb4bSXin Li    property @NonNull public abstract java.util.List<com.google.devtools.ksp.symbol.KSTypeArgument> arguments;
465*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSDeclaration declaration;
466*af87fb4bSXin Li    property public abstract boolean isError;
467*af87fb4bSXin Li    property public abstract boolean isFunctionType;
468*af87fb4bSXin Li    property public abstract boolean isMarkedNullable;
469*af87fb4bSXin Li    property public abstract boolean isSuspendFunctionType;
470*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.Nullability nullability;
471*af87fb4bSXin Li  }
472*af87fb4bSXin Li
473*af87fb4bSXin Li  public interface KSTypeAlias extends com.google.devtools.ksp.symbol.KSDeclaration {
474*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSName getName();
475*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSTypeReference getType();
476*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSName name;
477*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSTypeReference type;
478*af87fb4bSXin Li  }
479*af87fb4bSXin Li
480*af87fb4bSXin Li  public interface KSTypeArgument extends com.google.devtools.ksp.symbol.KSAnnotated {
481*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSTypeReference getType();
482*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.Variance getVariance();
483*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSTypeReference type;
484*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.Variance variance;
485*af87fb4bSXin Li  }
486*af87fb4bSXin Li
487*af87fb4bSXin Li  public interface KSTypeParameter extends com.google.devtools.ksp.symbol.KSDeclaration {
488*af87fb4bSXin Li    method @NonNull public kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSTypeReference> getBounds();
489*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSName getName();
490*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.Variance getVariance();
491*af87fb4bSXin Li    method public boolean isReified();
492*af87fb4bSXin Li    property @NonNull public abstract kotlin.sequences.Sequence<com.google.devtools.ksp.symbol.KSTypeReference> bounds;
493*af87fb4bSXin Li    property public abstract boolean isReified;
494*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSName name;
495*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.Variance variance;
496*af87fb4bSXin Li  }
497*af87fb4bSXin Li
498*af87fb4bSXin Li  public interface KSTypeReference extends com.google.devtools.ksp.symbol.KSAnnotated com.google.devtools.ksp.symbol.KSModifierListOwner {
499*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSReferenceElement getElement();
500*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSType resolve();
501*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSReferenceElement element;
502*af87fb4bSXin Li  }
503*af87fb4bSXin Li
504*af87fb4bSXin Li  public interface KSValueArgument extends com.google.devtools.ksp.symbol.KSAnnotated {
505*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSName getName();
506*af87fb4bSXin Li    method @Nullable public Object getValue();
507*af87fb4bSXin Li    method public boolean isSpread();
508*af87fb4bSXin Li    property public abstract boolean isSpread;
509*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSName name;
510*af87fb4bSXin Li    property @Nullable public abstract Object value;
511*af87fb4bSXin Li  }
512*af87fb4bSXin Li
513*af87fb4bSXin Li  public interface KSValueParameter extends com.google.devtools.ksp.symbol.KSAnnotated {
514*af87fb4bSXin Li    method public boolean getHasDefault();
515*af87fb4bSXin Li    method @Nullable public com.google.devtools.ksp.symbol.KSName getName();
516*af87fb4bSXin Li    method @NonNull public com.google.devtools.ksp.symbol.KSTypeReference getType();
517*af87fb4bSXin Li    method public boolean isCrossInline();
518*af87fb4bSXin Li    method public boolean isNoInline();
519*af87fb4bSXin Li    method public boolean isVal();
520*af87fb4bSXin Li    method public boolean isVar();
521*af87fb4bSXin Li    method public boolean isVararg();
522*af87fb4bSXin Li    property public abstract boolean hasDefault;
523*af87fb4bSXin Li    property public abstract boolean isCrossInline;
524*af87fb4bSXin Li    property public abstract boolean isNoInline;
525*af87fb4bSXin Li    property public abstract boolean isVal;
526*af87fb4bSXin Li    property public abstract boolean isVar;
527*af87fb4bSXin Li    property public abstract boolean isVararg;
528*af87fb4bSXin Li    property @Nullable public abstract com.google.devtools.ksp.symbol.KSName name;
529*af87fb4bSXin Li    property @NonNull public abstract com.google.devtools.ksp.symbol.KSTypeReference type;
530*af87fb4bSXin Li  }
531*af87fb4bSXin Li
532*af87fb4bSXin Li  public interface KSVisitor<D, R> {
533*af87fb4bSXin Li    method public R visitAnnotated(@NonNull com.google.devtools.ksp.symbol.KSAnnotated annotated, @Nullable D data);
534*af87fb4bSXin Li    method public R visitAnnotation(@NonNull com.google.devtools.ksp.symbol.KSAnnotation annotation, @Nullable D data);
535*af87fb4bSXin Li    method public R visitCallableReference(@NonNull com.google.devtools.ksp.symbol.KSCallableReference reference, @Nullable D data);
536*af87fb4bSXin Li    method public R visitClassDeclaration(@NonNull com.google.devtools.ksp.symbol.KSClassDeclaration classDeclaration, @Nullable D data);
537*af87fb4bSXin Li    method public R visitClassifierReference(@NonNull com.google.devtools.ksp.symbol.KSClassifierReference reference, @Nullable D data);
538*af87fb4bSXin Li    method public R visitDeclaration(@NonNull com.google.devtools.ksp.symbol.KSDeclaration declaration, @Nullable D data);
539*af87fb4bSXin Li    method public R visitDeclarationContainer(@NonNull com.google.devtools.ksp.symbol.KSDeclarationContainer declarationContainer, @Nullable D data);
540*af87fb4bSXin Li    method public R visitDefNonNullReference(@NonNull com.google.devtools.ksp.symbol.KSDefNonNullReference reference, @Nullable D data);
541*af87fb4bSXin Li    method public R visitDynamicReference(@NonNull com.google.devtools.ksp.symbol.KSDynamicReference reference, @Nullable D data);
542*af87fb4bSXin Li    method public R visitFile(@NonNull com.google.devtools.ksp.symbol.KSFile file, @Nullable D data);
543*af87fb4bSXin Li    method public R visitFunctionDeclaration(@NonNull com.google.devtools.ksp.symbol.KSFunctionDeclaration function, @Nullable D data);
544*af87fb4bSXin Li    method public R visitModifierListOwner(@NonNull com.google.devtools.ksp.symbol.KSModifierListOwner modifierListOwner, @Nullable D data);
545*af87fb4bSXin Li    method public R visitNode(@NonNull com.google.devtools.ksp.symbol.KSNode node, @Nullable D data);
546*af87fb4bSXin Li    method public R visitParenthesizedReference(@NonNull com.google.devtools.ksp.symbol.KSParenthesizedReference reference, @Nullable D data);
547*af87fb4bSXin Li    method public R visitPropertyAccessor(@NonNull com.google.devtools.ksp.symbol.KSPropertyAccessor accessor, @Nullable D data);
548*af87fb4bSXin Li    method public R visitPropertyDeclaration(@NonNull com.google.devtools.ksp.symbol.KSPropertyDeclaration property, @Nullable D data);
549*af87fb4bSXin Li    method public R visitPropertyGetter(@NonNull com.google.devtools.ksp.symbol.KSPropertyGetter getter, @Nullable D data);
550*af87fb4bSXin Li    method public R visitPropertySetter(@NonNull com.google.devtools.ksp.symbol.KSPropertySetter setter, @Nullable D data);
551*af87fb4bSXin Li    method public R visitReferenceElement(@NonNull com.google.devtools.ksp.symbol.KSReferenceElement element, @Nullable D data);
552*af87fb4bSXin Li    method public R visitTypeAlias(@NonNull com.google.devtools.ksp.symbol.KSTypeAlias typeAlias, @Nullable D data);
553*af87fb4bSXin Li    method public R visitTypeArgument(@NonNull com.google.devtools.ksp.symbol.KSTypeArgument typeArgument, @Nullable D data);
554*af87fb4bSXin Li    method public R visitTypeParameter(@NonNull com.google.devtools.ksp.symbol.KSTypeParameter typeParameter, @Nullable D data);
555*af87fb4bSXin Li    method public R visitTypeReference(@NonNull com.google.devtools.ksp.symbol.KSTypeReference typeReference, @Nullable D data);
556*af87fb4bSXin Li    method public R visitValueArgument(@NonNull com.google.devtools.ksp.symbol.KSValueArgument valueArgument, @Nullable D data);
557*af87fb4bSXin Li    method public R visitValueParameter(@NonNull com.google.devtools.ksp.symbol.KSValueParameter valueParameter, @Nullable D data);
558*af87fb4bSXin Li  }
559*af87fb4bSXin Li
560*af87fb4bSXin Li  public class KSVisitorVoid implements com.google.devtools.ksp.symbol.KSVisitor<kotlin.Unit,kotlin.Unit> {
561*af87fb4bSXin Li    ctor public KSVisitorVoid();
562*af87fb4bSXin Li    method public void visitAnnotated(@NonNull com.google.devtools.ksp.symbol.KSAnnotated annotated, @NonNull kotlin.Unit data);
563*af87fb4bSXin Li    method public void visitAnnotation(@NonNull com.google.devtools.ksp.symbol.KSAnnotation annotation, @NonNull kotlin.Unit data);
564*af87fb4bSXin Li    method public void visitCallableReference(@NonNull com.google.devtools.ksp.symbol.KSCallableReference reference, @NonNull kotlin.Unit data);
565*af87fb4bSXin Li    method public void visitClassDeclaration(@NonNull com.google.devtools.ksp.symbol.KSClassDeclaration classDeclaration, @NonNull kotlin.Unit data);
566*af87fb4bSXin Li    method public void visitClassifierReference(@NonNull com.google.devtools.ksp.symbol.KSClassifierReference reference, @NonNull kotlin.Unit data);
567*af87fb4bSXin Li    method public void visitDeclaration(@NonNull com.google.devtools.ksp.symbol.KSDeclaration declaration, @NonNull kotlin.Unit data);
568*af87fb4bSXin Li    method public void visitDeclarationContainer(@NonNull com.google.devtools.ksp.symbol.KSDeclarationContainer declarationContainer, @NonNull kotlin.Unit data);
569*af87fb4bSXin Li    method public void visitDefNonNullReference(@NonNull com.google.devtools.ksp.symbol.KSDefNonNullReference reference, @NonNull kotlin.Unit data);
570*af87fb4bSXin Li    method public void visitDynamicReference(@NonNull com.google.devtools.ksp.symbol.KSDynamicReference reference, @NonNull kotlin.Unit data);
571*af87fb4bSXin Li    method public void visitFile(@NonNull com.google.devtools.ksp.symbol.KSFile file, @NonNull kotlin.Unit data);
572*af87fb4bSXin Li    method public void visitFunctionDeclaration(@NonNull com.google.devtools.ksp.symbol.KSFunctionDeclaration function, @NonNull kotlin.Unit data);
573*af87fb4bSXin Li    method public void visitModifierListOwner(@NonNull com.google.devtools.ksp.symbol.KSModifierListOwner modifierListOwner, @NonNull kotlin.Unit data);
574*af87fb4bSXin Li    method public void visitNode(@NonNull com.google.devtools.ksp.symbol.KSNode node, @NonNull kotlin.Unit data);
575*af87fb4bSXin Li    method public void visitParenthesizedReference(@NonNull com.google.devtools.ksp.symbol.KSParenthesizedReference reference, @NonNull kotlin.Unit data);
576*af87fb4bSXin Li    method public void visitPropertyAccessor(@NonNull com.google.devtools.ksp.symbol.KSPropertyAccessor accessor, @NonNull kotlin.Unit data);
577*af87fb4bSXin Li    method public void visitPropertyDeclaration(@NonNull com.google.devtools.ksp.symbol.KSPropertyDeclaration property, @NonNull kotlin.Unit data);
578*af87fb4bSXin Li    method public void visitPropertyGetter(@NonNull com.google.devtools.ksp.symbol.KSPropertyGetter getter, @NonNull kotlin.Unit data);
579*af87fb4bSXin Li    method public void visitPropertySetter(@NonNull com.google.devtools.ksp.symbol.KSPropertySetter setter, @NonNull kotlin.Unit data);
580*af87fb4bSXin Li    method public void visitReferenceElement(@NonNull com.google.devtools.ksp.symbol.KSReferenceElement element, @NonNull kotlin.Unit data);
581*af87fb4bSXin Li    method public void visitTypeAlias(@NonNull com.google.devtools.ksp.symbol.KSTypeAlias typeAlias, @NonNull kotlin.Unit data);
582*af87fb4bSXin Li    method public void visitTypeArgument(@NonNull com.google.devtools.ksp.symbol.KSTypeArgument typeArgument, @NonNull kotlin.Unit data);
583*af87fb4bSXin Li    method public void visitTypeParameter(@NonNull com.google.devtools.ksp.symbol.KSTypeParameter typeParameter, @NonNull kotlin.Unit data);
584*af87fb4bSXin Li    method public void visitTypeReference(@NonNull com.google.devtools.ksp.symbol.KSTypeReference typeReference, @NonNull kotlin.Unit data);
585*af87fb4bSXin Li    method public void visitValueArgument(@NonNull com.google.devtools.ksp.symbol.KSValueArgument valueArgument, @NonNull kotlin.Unit data);
586*af87fb4bSXin Li    method public void visitValueParameter(@NonNull com.google.devtools.ksp.symbol.KSValueParameter valueParameter, @NonNull kotlin.Unit data);
587*af87fb4bSXin Li  }
588*af87fb4bSXin Li
589*af87fb4bSXin Li  public abstract sealed class Location {
590*af87fb4bSXin Li  }
591*af87fb4bSXin Li
592*af87fb4bSXin Li  public enum Modifier {
593*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier ABSTRACT;
594*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier ACTUAL;
595*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier ANNOTATION;
596*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier CONST;
597*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier CROSSINLINE;
598*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier DATA;
599*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier ENUM;
600*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier EXPECT;
601*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier EXTERNAL;
602*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier FINAL;
603*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier FUN;
604*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier IN;
605*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier INFIX;
606*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier INLINE;
607*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier INNER;
608*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier INTERNAL;
609*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier JAVA_DEFAULT;
610*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier JAVA_NATIVE;
611*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier JAVA_STATIC;
612*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier JAVA_STRICT;
613*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier JAVA_SYNCHRONIZED;
614*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier JAVA_TRANSIENT;
615*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier JAVA_VOLATILE;
616*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier LATEINIT;
617*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier NOINLINE;
618*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier OPEN;
619*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier OPERATOR;
620*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier OUT;
621*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier OVERRIDE;
622*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier PRIVATE;
623*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier PROTECTED;
624*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier PUBLIC;
625*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier REIFIED;
626*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier SEALED;
627*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier SUSPEND;
628*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier TAILREC;
629*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier VALUE;
630*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Modifier VARARG;
631*af87fb4bSXin Li  }
632*af87fb4bSXin Li
633*af87fb4bSXin Li  public final class NonExistLocation extends com.google.devtools.ksp.symbol.Location {
634*af87fb4bSXin Li    field @NonNull public static final com.google.devtools.ksp.symbol.NonExistLocation INSTANCE;
635*af87fb4bSXin Li  }
636*af87fb4bSXin Li
637*af87fb4bSXin Li  public enum Nullability {
638*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Nullability NOT_NULL;
639*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Nullability NULLABLE;
640*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Nullability PLATFORM;
641*af87fb4bSXin Li  }
642*af87fb4bSXin Li
643*af87fb4bSXin Li  public enum Origin {
644*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Origin JAVA;
645*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Origin JAVA_LIB;
646*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Origin KOTLIN;
647*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Origin KOTLIN_LIB;
648*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Origin SYNTHETIC;
649*af87fb4bSXin Li  }
650*af87fb4bSXin Li
651*af87fb4bSXin Li  public enum Variance {
652*af87fb4bSXin Li    method public final String getLabel();
653*af87fb4bSXin Li    property public final String label;
654*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Variance CONTRAVARIANT;
655*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Variance COVARIANT;
656*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Variance INVARIANT;
657*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Variance STAR;
658*af87fb4bSXin Li  }
659*af87fb4bSXin Li
660*af87fb4bSXin Li  public enum Visibility {
661*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Visibility INTERNAL;
662*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Visibility JAVA_PACKAGE;
663*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Visibility LOCAL;
664*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Visibility PRIVATE;
665*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Visibility PROTECTED;
666*af87fb4bSXin Li    enum_constant public static final com.google.devtools.ksp.symbol.Visibility PUBLIC;
667*af87fb4bSXin Li  }
668*af87fb4bSXin Li
669*af87fb4bSXin Li}
670*af87fb4bSXin Li
671*af87fb4bSXin Lipackage com.google.devtools.ksp.visitor {
672*af87fb4bSXin Li
673*af87fb4bSXin Li  public abstract class KSDefaultVisitor<D, R> extends com.google.devtools.ksp.visitor.KSEmptyVisitor<D,R> {
674*af87fb4bSXin Li    ctor public KSDefaultVisitor();
675*af87fb4bSXin Li  }
676*af87fb4bSXin Li
677*af87fb4bSXin Li  public abstract class KSEmptyVisitor<D, R> implements com.google.devtools.ksp.symbol.KSVisitor<D,R> {
678*af87fb4bSXin Li    ctor public KSEmptyVisitor();
679*af87fb4bSXin Li    method public abstract R defaultHandler(@NonNull com.google.devtools.ksp.symbol.KSNode node, @Nullable D data);
680*af87fb4bSXin Li    method public R visitAnnotated(@NonNull com.google.devtools.ksp.symbol.KSAnnotated annotated, @Nullable D data);
681*af87fb4bSXin Li    method public R visitAnnotation(@NonNull com.google.devtools.ksp.symbol.KSAnnotation annotation, @Nullable D data);
682*af87fb4bSXin Li    method public R visitCallableReference(@NonNull com.google.devtools.ksp.symbol.KSCallableReference reference, @Nullable D data);
683*af87fb4bSXin Li    method public R visitClassDeclaration(@NonNull com.google.devtools.ksp.symbol.KSClassDeclaration classDeclaration, @Nullable D data);
684*af87fb4bSXin Li    method public R visitClassifierReference(@NonNull com.google.devtools.ksp.symbol.KSClassifierReference reference, @Nullable D data);
685*af87fb4bSXin Li    method public R visitDeclaration(@NonNull com.google.devtools.ksp.symbol.KSDeclaration declaration, @Nullable D data);
686*af87fb4bSXin Li    method public R visitDeclarationContainer(@NonNull com.google.devtools.ksp.symbol.KSDeclarationContainer declarationContainer, @Nullable D data);
687*af87fb4bSXin Li    method public R visitDefNonNullReference(@NonNull com.google.devtools.ksp.symbol.KSDefNonNullReference reference, @Nullable D data);
688*af87fb4bSXin Li    method public R visitDynamicReference(@NonNull com.google.devtools.ksp.symbol.KSDynamicReference reference, @Nullable D data);
689*af87fb4bSXin Li    method public R visitFile(@NonNull com.google.devtools.ksp.symbol.KSFile file, @Nullable D data);
690*af87fb4bSXin Li    method public R visitFunctionDeclaration(@NonNull com.google.devtools.ksp.symbol.KSFunctionDeclaration function, @Nullable D data);
691*af87fb4bSXin Li    method public R visitModifierListOwner(@NonNull com.google.devtools.ksp.symbol.KSModifierListOwner modifierListOwner, @Nullable D data);
692*af87fb4bSXin Li    method public R visitNode(@NonNull com.google.devtools.ksp.symbol.KSNode node, @Nullable D data);
693*af87fb4bSXin Li    method public R visitParenthesizedReference(@NonNull com.google.devtools.ksp.symbol.KSParenthesizedReference reference, @Nullable D data);
694*af87fb4bSXin Li    method public R visitPropertyAccessor(@NonNull com.google.devtools.ksp.symbol.KSPropertyAccessor accessor, @Nullable D data);
695*af87fb4bSXin Li    method public R visitPropertyDeclaration(@NonNull com.google.devtools.ksp.symbol.KSPropertyDeclaration property, @Nullable D data);
696*af87fb4bSXin Li    method public R visitPropertyGetter(@NonNull com.google.devtools.ksp.symbol.KSPropertyGetter getter, @Nullable D data);
697*af87fb4bSXin Li    method public R visitPropertySetter(@NonNull com.google.devtools.ksp.symbol.KSPropertySetter setter, @Nullable D data);
698*af87fb4bSXin Li    method public R visitReferenceElement(@NonNull com.google.devtools.ksp.symbol.KSReferenceElement element, @Nullable D data);
699*af87fb4bSXin Li    method public R visitTypeAlias(@NonNull com.google.devtools.ksp.symbol.KSTypeAlias typeAlias, @Nullable D data);
700*af87fb4bSXin Li    method public R visitTypeArgument(@NonNull com.google.devtools.ksp.symbol.KSTypeArgument typeArgument, @Nullable D data);
701*af87fb4bSXin Li    method public R visitTypeParameter(@NonNull com.google.devtools.ksp.symbol.KSTypeParameter typeParameter, @Nullable D data);
702*af87fb4bSXin Li    method public R visitTypeReference(@NonNull com.google.devtools.ksp.symbol.KSTypeReference typeReference, @Nullable D data);
703*af87fb4bSXin Li    method public R visitValueArgument(@NonNull com.google.devtools.ksp.symbol.KSValueArgument valueArgument, @Nullable D data);
704*af87fb4bSXin Li    method public R visitValueParameter(@NonNull com.google.devtools.ksp.symbol.KSValueParameter valueParameter, @Nullable D data);
705*af87fb4bSXin Li  }
706*af87fb4bSXin Li
707*af87fb4bSXin Li  public abstract class KSTopDownVisitor<D, R> extends com.google.devtools.ksp.visitor.KSDefaultVisitor<D,R> {
708*af87fb4bSXin Li    ctor public KSTopDownVisitor();
709*af87fb4bSXin Li  }
710*af87fb4bSXin Li
711*af87fb4bSXin Li  public class KSValidateVisitor extends com.google.devtools.ksp.visitor.KSDefaultVisitor<com.google.devtools.ksp.symbol.KSNode,java.lang.Boolean> {
712*af87fb4bSXin Li    ctor public KSValidateVisitor(@NonNull kotlin.jvm.functions.Function2<? super com.google.devtools.ksp.symbol.KSNode,? super com.google.devtools.ksp.symbol.KSNode,java.lang.Boolean> predicate);
713*af87fb4bSXin Li    method @NonNull public Boolean defaultHandler(@NonNull com.google.devtools.ksp.symbol.KSNode node, @Nullable com.google.devtools.ksp.symbol.KSNode data);
714*af87fb4bSXin Li    method @NonNull public Boolean visitAnnotated(@NonNull com.google.devtools.ksp.symbol.KSAnnotated annotated, @Nullable com.google.devtools.ksp.symbol.KSNode data);
715*af87fb4bSXin Li    method @NonNull public Boolean visitAnnotation(@NonNull com.google.devtools.ksp.symbol.KSAnnotation annotation, @Nullable com.google.devtools.ksp.symbol.KSNode data);
716*af87fb4bSXin Li    method @NonNull public Boolean visitClassDeclaration(@NonNull com.google.devtools.ksp.symbol.KSClassDeclaration classDeclaration, @Nullable com.google.devtools.ksp.symbol.KSNode data);
717*af87fb4bSXin Li    method @NonNull public Boolean visitDeclaration(@NonNull com.google.devtools.ksp.symbol.KSDeclaration declaration, @Nullable com.google.devtools.ksp.symbol.KSNode data);
718*af87fb4bSXin Li    method @NonNull public Boolean visitDeclarationContainer(@NonNull com.google.devtools.ksp.symbol.KSDeclarationContainer declarationContainer, @Nullable com.google.devtools.ksp.symbol.KSNode data);
719*af87fb4bSXin Li    method @NonNull public Boolean visitFunctionDeclaration(@NonNull com.google.devtools.ksp.symbol.KSFunctionDeclaration function, @Nullable com.google.devtools.ksp.symbol.KSNode data);
720*af87fb4bSXin Li    method @NonNull public Boolean visitPropertyDeclaration(@NonNull com.google.devtools.ksp.symbol.KSPropertyDeclaration property, @Nullable com.google.devtools.ksp.symbol.KSNode data);
721*af87fb4bSXin Li    method @NonNull public Boolean visitTypeParameter(@NonNull com.google.devtools.ksp.symbol.KSTypeParameter typeParameter, @Nullable com.google.devtools.ksp.symbol.KSNode data);
722*af87fb4bSXin Li    method @NonNull public Boolean visitTypeReference(@NonNull com.google.devtools.ksp.symbol.KSTypeReference typeReference, @Nullable com.google.devtools.ksp.symbol.KSNode data);
723*af87fb4bSXin Li    method @NonNull public Boolean visitValueArgument(@NonNull com.google.devtools.ksp.symbol.KSValueArgument valueArgument, @Nullable com.google.devtools.ksp.symbol.KSNode data);
724*af87fb4bSXin Li    method @NonNull public Boolean visitValueParameter(@NonNull com.google.devtools.ksp.symbol.KSValueParameter valueParameter, @Nullable com.google.devtools.ksp.symbol.KSNode data);
725*af87fb4bSXin Li  }
726*af87fb4bSXin Li
727*af87fb4bSXin Li}
728*af87fb4bSXin Li
729