objectbox / objectbox/objectbox-java

Cursor class generation name conflict

Offen
#715 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

not sure about this
Vorherrschende Sprache
Java
Sterne
4.6k
Forks
311
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Issue Basics

  • ObjectBox version 2.3.4
  • Reproducibility: allways

Reproducing the bug

Description

Add a ToMany property with a backlink to a property named "entity" in another class.
When the cursor is generating, a variable name conflict occurs since the generated parameter for the put method in the cursor is also called "entity".

Code

An @Entity with ToMany link

class Entity {
...
@Backlink(to="entity")
    private ToMany<TradingSession> tradingSessions;
}

The TradingSession Entiy has the ToOne link.

class TradingSession{
...
ToOne<Entity> entity;
}

The conflict occurs in the Cursor generated code.

TradingSessionCursor
{
....
@Override
    public final long put(TradingSession entity) {
        ToOne<Entity> entity = entity.entity;

.....
}
}

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem im Issue gezeigten generierten TradingSessionCursor.put(TradingSession entity) und verfolge den Einstiegspunkt der Cursor-Generierung, der es erzeugt. Reproduziere den Fall mithilfe des Entity-Backlinks und der TradingSession-ToOne-Eigenschaft, und überprüfe anschließend, dass der generierte Cursor ohne einen Konflikt zwischen Parameter- und lokalen Variablennamen kompiliert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
database
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.