Ejemplo n.º 1
0
 private boolean validateParametersTypes(ExecutableElement constructor) {
   boolean res = true;
   List<? extends VariableElement> parameters = constructor.getParameters();
   Iterator<TypeElement> sources = context.sources().iterator();
   for (VariableElement parameter : parameters) {
     TypeElement sourceType = sources.next();
     if (!parameter.asType().equals(sourceType.asType())) {
       res = false;
       break;
     }
   }
   return res;
 }
Ejemplo n.º 2
0
  public TypeConstructorWrapper(MapperGeneratorContext context, TypeElement typeElement) {
    this.context = context;
    this.typeElement = typeElement;

    boolean defaultConstructor = false;
    boolean matchingSourcesConstructor = false;

    List<ExecutableElement> constructors =
        ElementFilter.constructorsIn(typeElement.getEnclosedElements());
    for (ExecutableElement constructor : constructors) {
      if (constructor.getModifiers().contains(Modifier.PUBLIC)
          && !constructor.getModifiers().contains(Modifier.ABSTRACT)) {
        int paramsCount = constructor.getParameters().size();
        if (paramsCount == 0) {
          defaultConstructor = true;
        }
        if (!matchingSourcesConstructor && paramsCount == context.getSourcesCount()) {
          matchingSourcesConstructor = validateParametersTypes(constructor);
        }
      }
    }
    hasMatchingSourcesConstructor = matchingSourcesConstructor;
    hasDefaultConstructor = defaultConstructor;
  }
Ejemplo n.º 3
0
 public void reportUnused() {
   for (InOutType immutableIO : unusedImmutables) {
     context.warn(
         mapper.getAnnotatedElement(), "Immutable class \"%s\" is never used", immutableIO.in());
   }
 }