org.eclipse.xtend.backend.internal
Class ExecutionContextImpl

java.lang.Object
  extended by org.eclipse.xtend.backend.internal.ExecutionContextImpl
All Implemented Interfaces:
ExecutionContext

public final class ExecutionContextImpl
extends java.lang.Object
implements ExecutionContext

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

Constructor Summary
ExecutionContextImpl(FunctionDefContext initialFunctionDefContext, BackendTypesystem typesystem, boolean logStacktrace)
           
 
Method Summary
 AdviceContext getAdviceContext()
           
 ContributionStateContext getContributionStateContext()
           
 CreationCache getCreationCache()
           
 FunctionDefContext getFunctionDefContext()
           
 FunctionInvoker getFunctionInvoker()
           
 java.util.List<ExecutionListener> getGlobalExecutionListeners()
          This list of "global" ExecutionListeners allows the registration of listeners that are notified of the evaluation of any expression.
 LocalVarContext getLocalVarContext()
           
 java.util.List<StacktraceEntry> getStacktrace()
          Maintaining the stack trace requires expensive operations during regular operation - it can not be done retrospectively.
 BackendTypesystem getTypesystem()
           
 boolean isLogStacktrace()
           
 void logNullDeRef(SourcePos pos)
           
 void setAdviceContext(AdviceContext ctx)
           
 void setFunctionDefContext(FunctionDefContext ctx)
           
 void setLocalVarContext(LocalVarContext ctx)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExecutionContextImpl

public ExecutionContextImpl(FunctionDefContext initialFunctionDefContext,
                            BackendTypesystem typesystem,
                            boolean logStacktrace)
Method Detail

getCreationCache

public CreationCache getCreationCache()
Specified by:
getCreationCache in interface ExecutionContext

getFunctionDefContext

public FunctionDefContext getFunctionDefContext()
Specified by:
getFunctionDefContext in interface ExecutionContext

setFunctionDefContext

public void setFunctionDefContext(FunctionDefContext ctx)
Specified by:
setFunctionDefContext in interface ExecutionContext

getLocalVarContext

public LocalVarContext getLocalVarContext()
Specified by:
getLocalVarContext in interface ExecutionContext

setLocalVarContext

public void setLocalVarContext(LocalVarContext ctx)
Specified by:
setLocalVarContext in interface ExecutionContext

getFunctionInvoker

public FunctionInvoker getFunctionInvoker()
Specified by:
getFunctionInvoker in interface ExecutionContext

getTypesystem

public BackendTypesystem getTypesystem()
Specified by:
getTypesystem in interface ExecutionContext

logNullDeRef

public void logNullDeRef(SourcePos pos)
Specified by:
logNullDeRef in interface ExecutionContext

getContributionStateContext

public ContributionStateContext getContributionStateContext()
Specified by:
getContributionStateContext in interface ExecutionContext

getStacktrace

public java.util.List<StacktraceEntry> getStacktrace()
Description copied from interface: ExecutionContext
Maintaining the stack trace requires expensive operations during regular operation - it can not be done retrospectively. Therefore the stacktrace is maintained only if the isLogStacktrace flag is set, otherwise this method returns an empty list.

Specified by:
getStacktrace in interface ExecutionContext

isLogStacktrace

public boolean isLogStacktrace()
Specified by:
isLogStacktrace in interface ExecutionContext

getAdviceContext

public AdviceContext getAdviceContext()
Specified by:
getAdviceContext in interface ExecutionContext

setAdviceContext

public void setAdviceContext(AdviceContext ctx)
Specified by:
setAdviceContext in interface ExecutionContext

getGlobalExecutionListeners

public java.util.List<ExecutionListener> getGlobalExecutionListeners()
Description copied from interface: ExecutionContext
This list of "global" ExecutionListeners allows the registration of listeners that are notified of the evaluation of any expression. This is in addition to the list of listeners registered per expression node.
Listeners registered per node are notified *before* (pre) these global listeners.

Specified by:
getGlobalExecutionListeners in interface ExecutionContext