org.eclipse.xpand2
Class XpandExecutionContextImpl

java.lang.Object
  extended by org.eclipse.xtend.expression.ExecutionContextImpl
      extended by org.eclipse.xpand2.XpandExecutionContextImpl
All Implemented Interfaces:
XpandExecutionContext, ExecutionContext, TypeSystem
Direct Known Subclasses:
XpandPluginExecutionContext

public class XpandExecutionContextImpl
extends ExecutionContextImpl
implements XpandExecutionContext

*

Author:
Sven Efftinge (http://www.efftinge.de) *

Nested Class Summary
 class XpandExecutionContextImpl.DefinitionOperationAdapter
           
 
Nested classes/interfaces inherited from class org.eclipse.xtend.expression.ExecutionContextImpl
ExecutionContextImpl.ExtensionsForNameAndTypeCacheKey
 
Field Summary
protected  Output output
           
protected  ProtectedRegionResolver protectedRegionResolver
           
 
Fields inherited from class org.eclipse.xtend.expression.ExecutionContextImpl
allExtensionsPerResource, callback, exceptionHandler, extensionsForNameAndTypesCache, extensionsReturnTypeCache, nullEvaluationHandler, registeredExtensionAdvices, resourceManager, typeSystem
 
Fields inherited from interface org.eclipse.xtend.expression.ExecutionContext
IMPLICIT_VARIABLE
 
Constructor Summary
  XpandExecutionContextImpl(Output output, ProtectedRegionResolver prs)
           
  XpandExecutionContextImpl(Output output, ProtectedRegionResolver prs, java.util.Map<java.lang.String,Variable> globalVars, ExceptionHandler exceptionHandler, NullEvaluationHandler nullEvaluationHandler)
           
  XpandExecutionContextImpl(Output output, ProtectedRegionResolver prs, java.lang.String fileEncoding)
           
  XpandExecutionContextImpl(ResourceManager resourceManager, Output output, ProtectedRegionResolver prs, java.util.Map<java.lang.String,Variable> globalVars, org.eclipse.emf.mwe.core.monitor.ProgressMonitor monitor, ExceptionHandler exceptionHandler, NullEvaluationHandler nullEvaluationHandler, VetoableCallback callback)
           
protected XpandExecutionContextImpl(ResourceManager resourceManager, Resource currentResource, TypeSystemImpl typeSystem, java.util.Map<java.lang.String,Variable> vars, java.util.Map<java.lang.String,Variable> globalVars, Output output, ProtectedRegionResolver protectedRegionResolver, org.eclipse.emf.mwe.core.monitor.ProgressMonitor monitor, ExceptionHandler exceptionHandler, java.util.List<Around> advices, NullEvaluationHandler nullEvaluationHandler, java.util.Map<Resource,java.util.Set<Extension>> allExtensionsPerResource, VetoableCallback callback, Cache<Triplet<Resource,java.lang.String,java.util.List<Type>>,Extension> extensionsForNameAndTypesCache, java.util.Map<Pair<java.lang.String,java.util.List<Type>>,Type> extensionsReturnTypeCache, java.util.List<Pair<XpandExecutionContextImpl,Statement>> deferredStatements)
           
protected XpandExecutionContextImpl(TypeSystemImpl ts, Output output, ProtectedRegionResolver prs, java.util.Map<java.lang.String,Variable> globalVars, ExceptionHandler exceptionHandler, NullEvaluationHandler nullEvaluationHandler)
           
 
Method Summary
 ExecutionContextImpl cloneContext()
           
 XpandExecutionContextImpl cloneWithStatement(Statement stmt)
           
 XpandDefinition findDefinition(java.lang.String name, Type target, Type[] paramTypes)
           
protected  XpandDefinition findDefinition(XpandDefinition[] definitions, java.lang.String name, Type target, Type[] paramTypes, XpandExecutionContext ctx)
          resolves the correct definition (using parametric polymorphism)
 XpandResource findTemplate(java.lang.String templateName)
           
 XpandResource findTemplate(java.lang.String templateName, java.lang.String[] importedNs)
           
 java.util.List<XpandDefinition> getAllDefinitions()
           
 java.util.List<Pair<XpandExecutionContextImpl,Statement>> getDeferredStatements()
           
 Output getOutput()
           
 ProtectedRegionResolver getProtectedRegionResolver()
           
 void registerAdvices(java.lang.String fullyQualifiedName)
           
 void setResourceManager(ResourceManager resourceManager)
          Deprecated. Context must be immutable, use the existing constructors
 
Methods inherited from class org.eclipse.xtend.expression.ExecutionContextImpl
cloneWithoutMonitor, cloneWithoutResource, cloneWithoutVariables, cloneWithResource, cloneWithVariable, currentResource, findOperation, findProperty, findTypesForPrefix, getAllExtensions, getAllTypes, getBooleanType, getCallback, getCollectionType, getExtension, getExtensionAdvices, getExtensionForTypes, getFeatureType, getGlobalVariables, getImportedNamespaces, getIntegerType, getListType, getMetaModels, getMonitor, getNamespaces, getObjectType, getOperationType, getPropertyType, getRealType, getResourceManager, getReturnType, getSetType, getStaticPropertyType, getStringType, getType, getTypeForName, getTypeType, getVariable, getVisibleVariables, getVoidType, handleNullEvaluation, handleRuntimeException, postTask, preTask, registerExtensionAdvices, registerMetaModel, release, setCallBack, setFileEncoding, setMonitor, setVetoableCallBack
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.xtend.expression.ExecutionContext
cloneWithoutMonitor, cloneWithoutResource, cloneWithoutVariables, cloneWithResource, cloneWithVariable, currentResource, getAllExtensions, getCallback, getExtension, getExtensionAdvices, getExtensionForTypes, getGlobalVariables, getMonitor, getResourceManager, getReturnType, getVariable, getVisibleVariables, handleNullEvaluation, handleRuntimeException, postTask, preTask
 
Methods inherited from interface org.eclipse.xtend.expression.TypeSystem
findOperation, findProperty, findTypesForPrefix, getAllTypes, getBooleanType, getCollectionType, getFeatureType, getIntegerType, getListType, getNamespaces, getObjectType, getOperationType, getPropertyType, getRealType, getSetType, getStaticPropertyType, getStringType, getType, getTypeForName, getTypeType, getVoidType, release
 

Field Detail

output

protected final Output output

protectedRegionResolver

protected final ProtectedRegionResolver protectedRegionResolver
Constructor Detail

XpandExecutionContextImpl

public XpandExecutionContextImpl(Output output,
                                 ProtectedRegionResolver prs)

XpandExecutionContextImpl

public XpandExecutionContextImpl(Output output,
                                 ProtectedRegionResolver prs,
                                 java.lang.String fileEncoding)

XpandExecutionContextImpl

public XpandExecutionContextImpl(Output output,
                                 ProtectedRegionResolver prs,
                                 java.util.Map<java.lang.String,Variable> globalVars,
                                 ExceptionHandler exceptionHandler,
                                 NullEvaluationHandler nullEvaluationHandler)

XpandExecutionContextImpl

public XpandExecutionContextImpl(ResourceManager resourceManager,
                                 Output output,
                                 ProtectedRegionResolver prs,
                                 java.util.Map<java.lang.String,Variable> globalVars,
                                 org.eclipse.emf.mwe.core.monitor.ProgressMonitor monitor,
                                 ExceptionHandler exceptionHandler,
                                 NullEvaluationHandler nullEvaluationHandler,
                                 VetoableCallback callback)

XpandExecutionContextImpl

protected XpandExecutionContextImpl(TypeSystemImpl ts,
                                    Output output,
                                    ProtectedRegionResolver prs,
                                    java.util.Map<java.lang.String,Variable> globalVars,
                                    ExceptionHandler exceptionHandler,
                                    NullEvaluationHandler nullEvaluationHandler)

XpandExecutionContextImpl

protected XpandExecutionContextImpl(ResourceManager resourceManager,
                                    Resource currentResource,
                                    TypeSystemImpl typeSystem,
                                    java.util.Map<java.lang.String,Variable> vars,
                                    java.util.Map<java.lang.String,Variable> globalVars,
                                    Output output,
                                    ProtectedRegionResolver protectedRegionResolver,
                                    org.eclipse.emf.mwe.core.monitor.ProgressMonitor monitor,
                                    ExceptionHandler exceptionHandler,
                                    java.util.List<Around> advices,
                                    NullEvaluationHandler nullEvaluationHandler,
                                    java.util.Map<Resource,java.util.Set<Extension>> allExtensionsPerResource,
                                    VetoableCallback callback,
                                    Cache<Triplet<Resource,java.lang.String,java.util.List<Type>>,Extension> extensionsForNameAndTypesCache,
                                    java.util.Map<Pair<java.lang.String,java.util.List<Type>>,Type> extensionsReturnTypeCache,
                                    java.util.List<Pair<XpandExecutionContextImpl,Statement>> deferredStatements)
Method Detail

cloneContext

public ExecutionContextImpl cloneContext()
Overrides:
cloneContext in class ExecutionContextImpl

cloneWithStatement

public XpandExecutionContextImpl cloneWithStatement(Statement stmt)

getAllDefinitions

public java.util.List<XpandDefinition> getAllDefinitions()
Specified by:
getAllDefinitions in interface XpandExecutionContext

findDefinition

public XpandDefinition findDefinition(java.lang.String name,
                                      Type target,
                                      Type[] paramTypes)
Specified by:
findDefinition in interface XpandExecutionContext

registerAdvices

public void registerAdvices(java.lang.String fullyQualifiedName)

getProtectedRegionResolver

public ProtectedRegionResolver getProtectedRegionResolver()
Specified by:
getProtectedRegionResolver in interface XpandExecutionContext

getOutput

public Output getOutput()
Specified by:
getOutput in interface XpandExecutionContext

findTemplate

public XpandResource findTemplate(java.lang.String templateName)
Specified by:
findTemplate in interface XpandExecutionContext

findTemplate

public XpandResource findTemplate(java.lang.String templateName,
                                  java.lang.String[] importedNs)

findDefinition

protected XpandDefinition findDefinition(XpandDefinition[] definitions,
                                         java.lang.String name,
                                         Type target,
                                         Type[] paramTypes,
                                         XpandExecutionContext ctx)
resolves the correct definition (using parametric polymorphism)

Parameters:
definitions -
target -
paramTypes -
Returns:
Since:
2.0

setResourceManager

@Deprecated
public void setResourceManager(ResourceManager resourceManager)
Deprecated. Context must be immutable, use the existing constructors


getDeferredStatements

public java.util.List<Pair<XpandExecutionContextImpl,Statement>> getDeferredStatements()