Estoy buscando un ejemplo (en XText) de cómo implementar la finalización de código en los miembros de un objeto definido por el usuario. Por lo que puedo ver, necesito usar IScope, pero no está claro cómo todos estos cables juntos.Ejemplo de Xtext de un objeto de ámbito
Dado que trait
es un tipo definido por el usuario, ¿cómo hago para construir una gramática para completar/validar los métodos contenidos en String
cuando escribo name.
?
trait String {
def toLowerCase(): String
def toUpperCase(): String
}
val name = new String()
name.toLowerCase()
Gracias
Excelente, gracias a Christian exactamente el kickstart que necesitaba;) –
Para aquellos tan despistados sobre EMF como yo lo estaba, puede encontrar EcoreUtil.getObjectsByType útil si necesita atravesar manualmente su DSL porque lo que desea hacer referencia no se puede obtener fácilmente a través de los métodos get. p.ej. Tiene colecciones de objetos heterogéneos que necesita abarcar. – Bae