wrap-java: Circular references with javaparser-core-3.28.0.jar
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
Reproduce wrap-java con javaparser-core-3.28.0.jar e inspecciona el wrapper de Swift Node generado junto con los diagnósticos de referencias circulares reportados. Traza cómo el generador de wrappers gestiona estas referencias; se considera terminado cuando esta entrada se genera sin errores de referencias circulares.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Here's one of the cycles being complained about:
// Auto-generated by Java-to-Swift wrapper generator.
import CSwiftJavaJNI
import SwiftJava
@JavaClass("com.github.javaparser.ast.Node", implements: HasParentNode<Node>.self, Visitable.self, NodeWithRange<Node>.self, NodeWithTokenRange<Node>.self)
open class Node: JavaObject {
/**
* Java method `getMetaModel`.
*
* ### Java method signature
* ```java
* public com.github.javaparser.metamodel.NodeMetaModel com.github.javaparser.ast.Node.getMetaModel()
* ```
*/
@JavaMethod
open func getMetaModel() -> NodeMetaModel!
/**
* Java method `setParentNode`.
*
* ### Java method signature
* ```java
* public com.github.javaparser.ast.Node com.github.javaparser.ast.Node.setParentNode(com.github.javaparser.ast.Node)
* ```
*/
@JavaMethod
open func setParentNode(_ newParentNode: Node?) -> Node!
/**
* Java method `getPrinter`.
*
* ### Java method signature
* ```java
* protected com.github.javaparser.printer.Printer com.github.javaparser.ast.Node.getPrinter()
* ```
*/
@JavaMethod
open func getPrinter() -> Printer!
/**
* Java method `getPrinter`.
*
* ### Java method signature
* ```java
* protected com.github.javaparser.printer.Printer com.github.javaparser.ast.Node.getPrinter(com.github.javaparser.printer.configuration.PrinterConfiguration)
* ```
*/
@JavaMethod
open func getPrinter(_ configuration: PrinterConfiguration?) -> Printer!
/**
* Java method `setTokenRange`.
*
* ### Java method signature
* ```java
* public com.github.javaparser.ast.Node com.github.javaparser.ast.Node.setTokenRange(com.github.javaparser.TokenRange)
* ```
*/
@JavaMethod
open func setTokenRange(_ tokenRange: TokenRange?) -> Node!
/**
* Java method `setRange`.
*
* ### Java method signature
* ```java
* public com.github.javaparser.ast.Node com.github.javaparser.ast.Node.setRange(com.github.javaparser.Range)
* ```
*/
@JavaMethod
open func setRange(_ range: Range?) -> Node!
/**
* Java method `setLineComment`.
*
* ### Java method signature
* ```java
* public final com.github.javaparser.ast.Node com.github.javaparser.ast.Node.setLineComment(java.lang.String)
* ```
*/
@JavaMethod
open func setLineComment(_ comment: String) -> Node!
/**
* Java method `setData`.
*
* ### Java method signature
* ```java
* public <M> void com.github.javaparser.ast.Node.setData(com.github.javaparser.ast.DataKey<M>,M)
* ```
*/
@JavaMethod
open func setData<M: AnyJavaObject>(_ key: DataKey<M>?, _ object: M?)
/**
* Java method `containsData`.
*
* ### Java method signature
* ```java
* public boolean com.github.javaparser.ast.Node.containsData(com.github.javaparser.ast.DataKey<?>)
* ```
*/
@JavaMethod
open func containsData(_ key: DataKey<JavaObject>?) -> Bool
/**
* Java method `removeData`.
*
* ### Java method signature
* ```java
* public void com.github.javaparser.ast.Node.removeData(com.github.javaparser.ast.DataKey<?>)
* ```
*/
@JavaMethod
open func removeData(_ key: DataKey<JavaObject>?)
/**
* Java method `removeForced`.
*
* ### Java method signature
* ```java
* public void com.github.javaparser.ast.Node.removeForced()
* ```
*/
@JavaMethod
open func removeForced()
/**
* Java method `removeComment`.
*
* ### Java method signature
* ```java
* public com.github.javaparser.ast.Node com.github.javaparser.ast.Node.removeComment()
* ```
*/
@JavaMethod
open func removeComment() -> Node!
/**
* Java method `findRootNode`.
*
* ### Java method signature
* ```java
* public com.github.javaparser.ast.Node com.github.javaparser.ast.Node.findRootNode()
* ```
*/
@JavaMethod
open func findRootNode() -> Node!
/**
* Java method `isAncestorOf`.
*
* ### Java method signature
* ```java
* public boolean com.github.javaparser.ast.Node.isAncestorOf(com.github.javaparser.ast.Node)
* ```
*/
@JavaMethod
open func isAncestorOf(_ descendant: Node?) -> Bool
/**
* Java method `hasScope`.
*
* ### Java method signature
* ```java
* public boolean com.github.javaparser.ast.Node.hasScope()
* ```
*/
@JavaMethod
open func hasScope() -> Bool
/**
* Java method `isPhantom`.
*
* ### Java method signature
* ```java
* public boolean com.github.javaparser.ast.Node.isPhantom()
* ```
*/
@JavaMethod
open func isPhantom() -> Bool
/**
* Java method `registerForSubtree`.
*
* ### Java method signature
* ```java
* public void com.github.javaparser.ast.Node.registerForSubtree(com.github.javaparser.ast.observer.AstObserver)
* ```
*/
@JavaMethod
open func registerForSubtree(_ observer: AstObserver?)
/**
* Java method `customInitialization`.
*
* ### Java method signature
* ```java
* protected void com.github.javaparser.ast.Node.customInitialization()
* ```
*/
@JavaMethod
open func customInitialization()
/**
* Java method `setAsParentNodeOf`.
*
* ### Java method signature
* ```java
* protected void com.github.javaparser.ast.Node.setAsParentNodeOf(com.github.javaparser.ast.NodeList<? extends com.github.javaparser.ast.Node>)
* ```
*/
@JavaMethod
open func setAsParentNodeOf(_ list: NodeList<Node>?)
/**
* Java method `setAsParentNodeOf`.
*
* ### Java method signature
* ```java
* protected void com.github.javaparser.ast.Node.setAsParentNodeOf(com.github.javaparser.ast.Node)
* ```
*/
@JavaMethod
open func setAsParentNodeOf(_ childNode: Node?)
/**
* Java method `createDefaultPrinter`.
*
* ### Java method signature
* ```java
* protected com.github.javaparser.printer.Printer com.github.javaparser.ast.Node.createDefaultPrinter(com.github.javaparser.printer.configuration.PrinterConfiguration)
* ```
*/
@JavaMethod
open func createDefaultPrinter(_ configuration: PrinterConfiguration?) -> Printer!
/**
* Java method `createDefaultPrinter`.
*
* ### Java method signature
* ```java
* protected com.github.javaparser.printer.Printer com.github.javaparser.ast.Node.createDefaultPrinter()
* ```
*/
@JavaMethod
open func createDefaultPrinter() -> Printer!
/**
* Java method `setBlockComment`.
*
* ### Java method signature
* ```java
* public final com.github.javaparser.ast.Node com.github.javaparser.ast.Node.setBlockComment(java.lang.String)
* ```
*/
@JavaMethod
open func setBlockComment(_ comment: String) -> Node!
/**
* Java method `addOrphanComment`.
*
* ### Java method signature
* ```java
* public void com.github.javaparser.ast.Node.addOrphanComment(com.github.javaparser.ast.comments.Comment)
* ```
*/
@JavaMethod
open func addOrphanComment(_ comment: Comment?)
/**
* Java method `removeOrphanComment`.
*
* ### Java method signature
* ```java
* public boolean com.github.javaparser.ast.Node.removeOrphanComment(com.github.javaparser.ast.comments.Comment)
* ```
*/
@JavaMethod
open func removeOrphanComment(_ comment: Comment?) -> Bool
/**
* Java method `getSymbolResolver`.
*
* ### Java method signature
* ```java
* public com.github.javaparser.resolution.SymbolResolver com.github.javaparser.ast.Node.getSymbolResolver()
* ```
*/
@JavaMethod
open func getSymbolResolver() -> SymbolResolver!
/**
* Java method `getParentNodeForChildren`.
*
* ### Java method signature
* ```java
* public com.github.javaparser.ast.Node com.github.javaparser.ast.Node.getParentNodeForChildren()
* ```
*/
@JavaMethod
open func getParentNodeForChildren() -> Node!
/**
* Java method `getDefaultPrinterConfiguration`.
*
* ### Java method signature
* ```java
* protected com.github.javaparser.printer.configuration.PrinterConfiguration com.github.javaparser.ast.Node.getDefaultPrinterConfiguration()
* ```
*/
@JavaMethod
open func getDefaultPrinterConfiguration() -> PrinterConfiguration!
/**
* Java method `remove`.
*
* ### Java method signature
* ```java
* public boolean com.github.javaparser.ast.Node.remove()
* ```
*/
@JavaMethod
open func remove() -> Bool
/**
* Java method `remove`.
*
* ### Java method signature
* ```java
* public boolean com.github.javaparser.ast.Node.remove(com.github.javaparser.ast.Node)
* ```
*/
@JavaMethod
open func remove(_ node: Node?) -> Bool
/**
* Java method `equals`.
*
* ### Java method signature
* ```java
* public boolean com.github.javaparser.ast.Node.equals(java.lang.Object)
* ```
*/
@JavaMethod
open override func equals(_ obj: JavaObject?) -> Bool
/**
* Java method `toString`.
*
* ### Java method signature
* ```java
* public final java.lang.String com.github.javaparser.ast.Node.toString()
* ```
*/
@JavaMethod
open override func toString() -> String
/**
* Java method `toString`.
*
* ### Java method signature
* ```java
* public final java.lang.String com.github.javaparser.ast.Node.toString(com.github.javaparser.printer.configuration.PrinterConfiguration)
* ```
*/
@JavaMethod
open func toString(_ configuration: PrinterConfiguration?) -> String
/**
* Java method `hashCode`.
*
* ### Java method signature
* ```java
* public final int com.github.javaparser.ast.Node.hashCode()
* ```
*/
@JavaMethod
open override func hashCode() -> Int32
/**
* Java method `clone`.
*
* ### Java method signature
* ```java
* public com.github.javaparser.ast.Node com.github.javaparser.ast.Node.clone()
* ```
*/
@JavaMethod
open override func clone() -> Node!
/**
* Java method `replace`.
*
* ### Java method signature
* ```java
* public boolean com.github.javaparser.ast.Node.replace(com.github.javaparser.ast.Node)
* ```
*/
@JavaMethod
open func replace(_ node: Node?) -> Bool
/**
* Java method `replace`.
*
* ### Java method signature
* ```java
* public boolean com.github.javaparser.ast.Node.replace(com.github.javaparser.ast.Node,com.github.javaparser.ast.Node)
* ```
*/
@JavaMethod
open func replace(_ node: Node?, _ replacementNode: Node?) -> Bool
/**
* Java method `isRegistered`.
*
* ### Java method signature
* ```java
* public boolean com.github.javaparser.ast.Node.isRegistered(com.github.javaparser.ast.observer.AstObserver)
* ```
*/
@JavaMethod
open func isRegistered(_ observer: AstObserver?) -> Bool
/**
* Java method `register`.
*
* ### Java method signature
* ```java
* public void com.github.javaparser.ast.Node.register(com.github.javaparser.ast.observer.AstObserver)
* ```
*/
@JavaMethod
open func register(_ observer: AstObserver?)
/**
* Java method `unregister`.
*
* ### Java method signature
* ```java
* public void com.github.javaparser.ast.Node.unregister(com.github.javaparser.ast.observer.AstObserver)
* ```
*/
@JavaMethod
open func unregister(_ observer: AstObserver?)
/**
* Java method `setComment`.
*
* ### Java method signature
* ```java
* public com.github.javaparser.ast.Node com.github.javaparser.ast.Node.setComment(com.github.javaparser.ast.comments.Comment)
* ```
*/
@JavaMethod
open func setComment(_ comment: Comment?) -> Node!
/**
* Java method `getData`.
*
* ### Java method signature
* ```java
* public <M> M com.github.javaparser.ast.Node.getData(com.github.javaparser.ast.DataKey<M>)
* ```
*/
@JavaMethod(typeErasedResult: "M!")
open func getData<M: AnyJavaObject>(_ key: DataKey<M>?) -> M!
}
extension JavaClass<Node> {
@JavaStaticField(isFinal: true)
public var ABSOLUTE_BEGIN_LINE: Int32
@JavaStaticField(isFinal: true)
public var ABSOLUTE_END_LINE: Int32
@JavaStaticField(isFinal: true)
public var SYMBOL_RESOLVER_KEY: DataKey<SymbolResolver>!
@JavaStaticField(isFinal: true)
public var PRINTER_KEY: DataKey<Printer>!
}
// Auto-generated by Java-to-Swift wrapper generator.
import CSwiftJavaJNI
import SwiftJava
@JavaInterface("com.github.javaparser.HasParentNode", extends: Observable.self)
public struct HasParentNode<T: AnyJavaObject> {
/**
* Java method `setParentNode`.
*
* ### Java method signature
* ```java
* public abstract T com.github.javaparser.HasParentNode.setParentNode(com.github.javaparser.ast.Node)
* ```
*/
@JavaMethod(typeErasedResult: "T!")
public func setParentNode(_ parentNode: Node?) -> T!
/**
* Java method `hasParentNode`.
*
* ### Java method signature
* ```java
* public default boolean com.github.javaparser.HasParentNode.hasParentNode()
* ```
*/
@JavaMethod
public func hasParentNode() -> Bool
/**
* Java method `isDescendantOf`.
*
* ### Java method signature
* ```java
* public default boolean com.github.javaparser.HasParentNode.isDescendantOf(com.github.javaparser.ast.Node)
* ```
*/
@JavaMethod
public func isDescendantOf(_ ancestor: Node?) -> Bool
/**
* Java method `getParentNodeForChildren`.
*
* ### Java method signature
* ```java
* public abstract com.github.javaparser.ast.Node com.github.javaparser.HasParentNode.getParentNodeForChildren()
* ```
*/
@JavaMethod
public func getParentNodeForChildren() -> Node!
/**
* Java method `isRegistered`.
*
* ### Java method signature
* ```java
* public abstract boolean com.github.javaparser.ast.observer.Observable.isRegistered(com.github.javaparser.ast.observer.AstObserver)
* ```
*/
@JavaMethod
public func isRegistered(_ observer: AstObserver?) -> Bool
/**
* Java method `register`.
*
* ### Java method signature
* ```java
* public abstract void com.github.javaparser.ast.observer.Observable.register(com.github.javaparser.ast.observer.AstObserver)
* ```
*/
@JavaMethod
public func register(_ observer: AstObserver?)
/**
* Java method `unregister`.
*
* ### Java method signature
* ```java
* public abstract void com.github.javaparser.ast.observer.Observable.unregister(com.github.javaparser.ast.observer.AstObserver)
* ```
*/
@JavaMethod
public func unregister(_ observer: AstObserver?)
}
- Lenguaje dominante
- Swift
- Estrellas
- 1.3k
- Forks
- 127
- Merge medio
- 2 d 14 h
- PR fusionados (30 d)
- 5
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de swiftlang/swift-java
-
wrap-java: Optional convenience methods can fail to compile when a parameter shadows the method nameAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
swiftlang/swift-java#945 ·
Los mantenedores suelen responder en 1 día
-
android
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
swiftlang/swift-java#663 · 4 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 56/100
swiftlang/swift-java#949 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
swiftlang/swift-java#948 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 54/100
swiftlang/swift-java#947 ·
Los mantenedores suelen responder en 1 día
Todos los issues de swiftlang/swift-java
Issues similares
-
area:shell order:3 status:ready type:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
krystianslowik/arkt#618 ·
Los mantenedores suelen responder en 1 día
-
needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
nightscout/Trio#1741 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
deepsealabs/libdc-swift#107 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
alexandrereol/ethmensa#30 ·
-
🎉 Add OmuType to Input MethodsAbiertoaddition
Dificultad 1/5 Menos de una hora Aptitud para principiantes 83/100
jaywcjlove/awesome-mac#4259 ·
Los mantenedores suelen responder en 1 día