All Known Subinterfaces:
TransformationContext

public interface Associator
Associates generated Java elements with their source Xtend elements
Since:
2.7
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    setPrimarySourceElement(MutableElement javaElement, Element sourceElement)
    Associates the generate element with the Xtend source code.
  • Method Details

    • setPrimarySourceElement

      void setPrimarySourceElement(MutableElement javaElement, Element sourceElement)
      Associates the generate element with the Xtend source code. Every generated element should have a source element. This information is used by features like "Go to Declaration" and the outline view. A typical use case (generating a getter for a field) would look like this:
       myClass.declaredFields.forEach[field|
        myClass.addMethod("get" + field.simpleName.toFirstUpper) [
         primarySourceElement = field
         // return type, body etc...
        ]
       ]
       
      This way, the getter generated in the active annotation above would be associated with the field in the Xtend source code. Notice that we passed the field from the Java AST as a source element. This is a shortcut for
       primarySourceElement = field.primarySourceElement
       
      Parameters:
      javaElement - the generated Java element
      sourceElement - the source element that the secondaryElement was derived from