@ Value . Lazy public NameForms typeImmutable ( ) { String simple , relative ; if ( protoclass ( ) . kind ( ) . isNested ( ) ) { String enclosingSimpleName = typeImmutableEnclosingSimpleName ( ) ; simple = names ( ) . typeImmutableNested ( ) ; relative = inPackage ( enclosingSimpleName , simple ) ; } else if ( hasImmutableInBuilder ( ) ) { simple = names ( ) . typeImmutable ; relative = inPackage ( typeBuilderSimpleName ( ) , simple ) ; } else { simple = names ( ) . typeImmutable ; relative = inPackage ( simple ) ; } return ImmutableConstitution . NameForms . builder ( ) . simple ( simple ) . relativeRaw ( relative ) . genericArgs ( generics ( ) . args ( ) ) . packageOf ( implementationPackage ( ) ) . visibility ( implementationVisibility ( ) ) . build ( ) ; }
Actual immutable value type generated implementation .