org.eclipse.xtend.middleend
Interface MiddleEnd

All Known Implementing Classes:
MiddleEndImpl

public interface MiddleEnd

This interface is the generic entry point for parsing and executing code. Different languages can contribute their specific middle ends using extension points.
MiddleEnd instances are stateful in that they preserve caching of the contributed middle ends. They also preserve a single ExecutionContext instance throughout their life span, but they expose it to allows using code to selectively manipulate and / or re-initialize it between invocations.

Author:
Arno Haase (http://www.haase-consulting.com)

Method Summary
 void applyAdvice(java.lang.String resourceName)
          tells this middle end instance to apply the advice in a given resource to all subsequent invocations.
 FunctionDefContextInternal createEmptyFdc()
           
 ExecutionContext getExecutionContext()
          This method exposes the execution context to using code with the explicit purpose of allowing others to inspect and manipulate / re-initialize it partially or in toto.
 FunctionDefContext getFunctions(java.lang.String resourceName)
           
 java.util.List<LanguageSpecificMiddleEnd> getLanguageSpecificMiddleEnds()
           
 java.util.Map<java.lang.String,ParsedResource> getParsedResources()
           
 BackendTypesystem getTypesystem()
           
 

Method Detail

applyAdvice

void applyAdvice(java.lang.String resourceName)
tells this middle end instance to apply the advice in a given resource to all subsequent invocations.


getFunctions

FunctionDefContext getFunctions(java.lang.String resourceName)

getExecutionContext

ExecutionContext getExecutionContext()
This method exposes the execution context to using code with the explicit purpose of allowing others to inspect and manipulate / re-initialize it partially or in toto.
But beware: This data structure is used directly by the runtime, and modifications can significantly influence behavior at runtime!


getTypesystem

BackendTypesystem getTypesystem()

createEmptyFdc

FunctionDefContextInternal createEmptyFdc()

getParsedResources

java.util.Map<java.lang.String,ParsedResource> getParsedResources()

getLanguageSpecificMiddleEnds

java.util.List<LanguageSpecificMiddleEnd> getLanguageSpecificMiddleEnds()