Sto cercando un esempio (in XText) su come implementare il completamento del codice su membri di oggetti definiti dall'utente. Per quanto posso vedere ho bisogno di usare IScope, ma come tutti questi fili insieme non è chiaro.Esempio xtext di un oggetto con scope
Dato che trait
è un tipo definito dall'utente, come posso fare per la costruzione di una grammatica di codice completo/validare i metodi contenuti in String
quando si digita name.
?
trait String {
def toLowerCase(): String
def toUpperCase(): String
}
val name = new String()
name.toLowerCase()
Grazie
eccellente, grazie Christian esattamente la kickstart avevo bisogno;) –
Per quelli come all'oscuro circa EMF come lo ero io, si possono trovare utili EcoreUtil.getObjectsByType se è necessario attraversare manualmente il DSL perché quello che vuoi fare riferimento non può essere facilmente ottenuto tramite i metodi get. per esempio. Hai raccolte di oggetti eterogenei di cui hai bisogno per mirare. – Bae