Skip to content

"With" types are not regenerated on recompile when immutable class changed #1550

@fp7

Description

@fp7

I debugged this and found that in

public boolean isGenerateWithInterface() {
ensureTypeIntrospected();
String relative = typeWith().relative();
return implementedInterfacesNames.contains(relative);
}

it is checked that the relative interface name (ie, without the package) is contained inside the implemented interfaces, but in

for (TypeMirror m : e.getInterfaces()) {
collectUnresolvedInterface(m, context);
collectInterfacesMirrors(m, context);
}
}

the full qualified name is added for already existing interfaces. Because of that the processor never finds the relative interface name within the full qualified names and the with type is not regenerated when the value type changes.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions