Code in conditional compilation branches is not exported

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

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
java, swift
Bereich
tooling

Rechercherichtung

Beginne damit, das Beispiel zur bedingten Kompilierung mit jextract beim referenzierten Commit zu reproduzieren, und prüfe, warum nur third exportiert wird. Verfolge den Exportpfad für Swift-Deklarationen in #if- und #else-Zweigen und überprüfe anschließend, dass die Funktionen des zutreffenden Zweigs exportiert werden, während Funktionen aus nicht zutreffenden Zweigen weiterhin ausgeschlossen bleiben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

feature:jextract

Reproduction

This is likely a known issue, but I didn't find mentions in the issues yet. Basically, from the following code:

#if FOO
public func first() {}
#else
public func second() {}
#endif

public func third() {}

only the third function is exported by jextract as of 5764bc2a1b706056121109dc0ab14fd3d771cbc5

Vorherrschende Sprache
Swift
Sterne
1.3k
Forks
129
Ø Merge
7 Std. 16 Min.
Gemergte PRs (30 T.)
4

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus swiftlang/swift-java

Alle Issues in swiftlang/swift-java

Ähnliche Issues

Weitere Issues zu Swift

Neue Issues direkt in Ihr Postfach

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