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

com.google.inject.internal.KotlinSupportInterface Maven / Gradle / Ivy

The newest version!
package com.google.inject.internal;

import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.function.Predicate;

/** Interface for accessing information about Kotlin code. */
public interface KotlinSupportInterface {
  /** Returns an array of {@link Annotation}s on the field's Kotlin property (if applicable). */
  Annotation[] getAnnotations(Field field);

  /** Returns true if the field is declared as kotlin nullable type. */
  boolean isNullable(Field field);

  /**
   * Returns a {@link Predicate} that says whether the constructor's i-th parameter is
   * Kotlin-nullable.
   */
  Predicate getIsParameterKotlinNullablePredicate(Constructor constructor);

  /**
   * Returns a {@link Predicate} that says whether the method's i-th parameter is Kotlin-nullable.
   */
  Predicate getIsParameterKotlinNullablePredicate(Method method);

  /** Checks for any errors on the constructor's parameters's annotations. */
  void checkConstructorParameterAnnotations(Constructor constructor, Errors errors);

  /** Returns whether the {@code clazz} is a local Kotlin class. */
  boolean isLocalClass(Class clazz);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy