wrap-java: Circular references with javaparser-core-3.28.0.jar
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
Tái hiện wrap-java với javaparser-core-3.28.0.jar và kiểm tra Swift Node wrapper được tạo cùng với các chẩn đoán về tham chiếu vòng được báo cáo. Theo dõi cách wrapper generator xử lý các tham chiếu này; hoàn thành khi input này được tạo mà không có lỗi tham chiếu vòng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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?)
}
- Ngôn ngữ chính
- Swift
- Star
- 1.3k
- Fork
- 127
- Merge trung bình
- 2 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của swiftlang/swift-java
-
wrap-java: Optional convenience methods can fail to compile when a parameter shadows the method nameĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
swiftlang/swift-java#945 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
android
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
swiftlang/swift-java#663 · 4 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 56/100
swiftlang/swift-java#949 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
swiftlang/swift-java#948 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 54/100
swiftlang/swift-java#947 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của swiftlang/swift-java
Issue tương tự
-
area:shell order:3 status:ready type:bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
krystianslowik/arkt#618 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
nightscout/Trio#1741 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
deepsealabs/libdc-swift#107 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
alexandrereol/ethmensa#30 ·
-
🎉 Add OmuType to Input MethodsĐang mởaddition
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 83/100
jaywcjlove/awesome-mac#4259 ·
Maintainer thường phản hồi trong vòng 1 ngày