@Immutable annotation for value classes
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Das Issue nennt keine Quelldatei oder keinen Testpfad; beginne damit, die vorhandenen Annotationsdefinitionen des Repositorys und ihre Konventionen zu überprüfen. Die Aufgabe ist erledigt, wenn eine entsprechende @Immutable-Annotation mit dokumentierter Unveränderlichkeitssemantik und geeigneten Typ-, Retention- und Dokumentationsmetadaten hinzugefügt wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hi!
I am currently migrating a projeect from jsr305 to java-annotations. One of the annotations I can't really seem to find an equivalent for is @Immutable. A class being @Immutable should not have setters and possibly not even non-final fields.
The original implementation and documentation:
/**
* The class to which this annotation is applied is immutable. This means that
* its state cannot be seen to change by callers. Of necessity this means that
* all public fields are final, and that all public final reference fields refer
* to other immutable objects, and that methods do not publish references to any
* internal state which is mutable by implementation even if not by design.
* Immutable objects may still have internal mutable state for purposes of
* performance optimization; some state variables may be lazily computed, so
* long as they are computed from immutable state and that callers cannot tell
* the difference.
* <p>
* Immutable objects are inherently thread-safe; they may be passed between
* threads or published without synchronization.
*/
@Documented
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.CLASS)
public @interface Immutable {
}
- Vorherrschende Sprache
- Kotlin
- Sterne
- 465
- Forks
- 73
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus JetBrains/java-annotations
-
@TestOnly should be allowed for ElementType.PACKAGEEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
JetBrains/java-annotations#123 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
JetBrains/java-annotations#134 · 6 Kommentare · 1 Reaktion ·
-
Add AndroidTarget as KMP targetEvtl. wieder frei @serjsysoev hat das vor 527 Tagen übernommen, und es ist kein Pull Request offen. Offen
JetBrains/java-annotations#125 · 1 Reaktion · 1 zugewiesene Person ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
JetBrains/java-annotations#122 · 2 Kommentare ·
-
Allow use of @Language on (formatted-)string literalsEvtl. wieder frei @serjsysoev hat das vor 703 Tagen übernommen, und es ist kein Pull Request offen. Offen
JetBrains/java-annotations#117 · 4 Kommentare · 1 zugewiesene Person ·
Alle Issues in JetBrains/java-annotations
Ähnliche Issues
-
Blank screen in Download tab after searching with no results and switching tabsEvtl. vergeben @mangod12 hat das heute übernommen. Offenbug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
kiwix/kiwix-android#5211 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
deniscerri/ytdlnis#1430 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug] Lock owned by another client (e.g. Text app) cannot be unlocked from the appEvtl. vergeben @falkloewert hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Submission] 悠悠有品Offensubmit-adaption submit-adaption-pre
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 75/100
BetterAndroid/android-notification-icon-project#763 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
simplex-chat/simplex-chat#7755 ·
Maintainer antworten meist innerhalb von 1 Tag