org.eclipse.ocl.examples.impactanalyzer.impl
Interface OperationBodyToCallMapper

All Known Implementing Classes:
FilterSynthesisImpl

public interface OperationBodyToCallMapper


Method Summary
 java.util.Set<OperationCallExp> getCallsOf(OCLExpression operationBodyExpression)
          Returns all the calls to the operation whose body is operationBodyExpression that are reachable from some scope.
 OCLExpression getOperationBody(org.eclipse.emf.ecore.EOperation operation)
          Determines the body expression of an operation
 java.util.Set<Variable> getParameterVariablesUsedInBody(OCLExpression body)
          Determines the self variable as used by the operation body body.
 java.util.Set<Variable> getSelfVariablesUsedInBody(OCLExpression body)
          Determines the self variables as used by the operation body or top-level non-operation-body (e.g., invariant) expression body.
 

Method Detail

getCallsOf

java.util.Set<OperationCallExp> getCallsOf(OCLExpression operationBodyExpression)
Returns all the calls to the operation whose body is operationBodyExpression that are reachable from some scope. Which scope this is depends on the particular implementation. If no such calls exist, an empty set is returned. TODO generalize such that instead of an OperationCallExp this method can return a TCS::Property (template "invocation") as well


getSelfVariablesUsedInBody

java.util.Set<Variable> getSelfVariablesUsedInBody(OCLExpression body)
Determines the self variables as used by the operation body or top-level non-operation-body (e.g., invariant) expression body. While it might seem a little strange to have multiple self variables within the same operation body, that's however what may happen in Ecore OCL. It would otherwise be tricky to identify the self variable when given the body or the EOperation element. If self is not used by the body, then null will be returned. Never returns null but may return an empty set.


getParameterVariablesUsedInBody

java.util.Set<Variable> getParameterVariablesUsedInBody(OCLExpression body)
Determines the self variable as used by the operation body body. It would otherwise be tricky to identify the self variable when given the body or the EOperation element. If self is not used by the body, then null will be returned. Never returns null but may return an empty set.


getOperationBody

OCLExpression getOperationBody(org.eclipse.emf.ecore.EOperation operation)
Determines the body expression of an operation