Tôi đang tìm một ví dụ (trong XText) về cách triển khai hoàn thành mã trên một thành viên đối tượng được xác định bởi người dùng. Theo như tôi có thể thấy tôi cần phải sử dụng IScope, nhưng làm thế nào tất cả các dây này lại với nhau là không rõ ràng.Ví dụ Xtext của một đối tượng có phạm vi
Cho rằng trait
là loại do người dùng xác định, làm cách nào để xây dựng ngữ pháp để mã hoàn tất/xác thực các phương thức chứa trong String
khi tôi nhập name.
?
trait String {
def toLowerCase(): String
def toUpperCase(): String
}
val name = new String()
name.toLowerCase()
Cảm ơn
Tuyệt vời, cảm ơn Christian chính xác kickstart tôi cần;) –
Đối với những người không biết gì về EMF như tôi, bạn có thể tìm thấy hữu ích EcoreUtil.getObjectsByType nếu bạn cần phải tự đi qua DSL của bạn bởi vì những gì bạn muốn tham khảo không thể dễ dàng thu được thông qua các phương thức get. ví dụ. Bạn có bộ sưu tập của các đối tượng không đồng nhất mà bạn cần phải phạm vi trên. – Bae