org.eclipse.xtext.xbase.jvmmodel
Interface IJvmModelInferrer

All Known Implementing Classes:
AbstractModelInferrer, IJvmModelInferrer.NullImpl, PureXbaseJvmModelInferrer, Xtend2JvmModelInferrer

public interface IJvmModelInferrer

The model inferrer adapts a given source object with a JvmDeclaredType that mimics the interface of the source object and its children.

Implementors have to traverse the given source object in #inferJvmModel(EObject) and decide which types to create according to the state of the model.

Author:
Jan Koehnlein - Initial contribution and API, Sven Efftinge
See Also:
IJvmModelAssociations, IJvmModelAssociator

Nested Class Summary
static class IJvmModelInferrer.NullImpl
          A null-implementation.
 
Method Summary
 void infer(org.eclipse.emf.ecore.EObject e, IAcceptor<JvmDeclaredType> acceptor, boolean prelinkingPhase)
          is called for the root element of a resource just once.
 

Method Detail

infer

void infer(org.eclipse.emf.ecore.EObject e,
           IAcceptor<JvmDeclaredType> acceptor,
           boolean prelinkingPhase)
is called for the root element of a resource just once.

Parameters:
e - - the root element from the parse result
acceptor - - an acceptor awaiting derived JvmDeclaredTypes
prelinkingPhase - - whether the call is done in a pre-linking phase. During this phase clients may not do linking which relies on indexed information, because the index might not be fully computed yet.