Class DeferredResolvableOperationExpression

java.lang.Object
net.ssehub.easy.instantiation.core.model.expressions.Expression
de.uni_hildesheim.sse.vil.expressions.translation.DeferredResolvableOperationExpression

class DeferredResolvableOperationExpression extends net.ssehub.easy.instantiation.core.model.expressions.Expression
Defines a deferrable resolvable operation expression, i.e., a currently unresolved "function pointer". This is needed, as all functions and operations are only known at the end of the translation process, while the initialization expressions of global variables are (currently) resolved before.
Author:
Holger Eichelberger
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private org.eclipse.emf.ecore.EObject
     
    private net.ssehub.easy.instantiation.core.model.expressions.Expression
     
    private net.ssehub.easy.instantiation.core.model.vilTypes.TypeDescriptor<?>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    DeferredResolvableOperationExpression(org.eclipse.emf.ecore.EObject cause, net.ssehub.easy.instantiation.core.model.vilTypes.TypeDescriptor<?> varType, net.ssehub.easy.instantiation.core.model.expressions.Expression init)
    Creates a resolvable operation expression.
  • Method Summary

    Modifier and Type
    Method
    Description
    accept(net.ssehub.easy.instantiation.core.model.expressions.IExpressionVisitor visitor)
     
    (package private) org.eclipse.emf.ecore.EObject
    Returns the ECore cause.
    (package private) net.ssehub.easy.instantiation.core.model.expressions.Expression
    Returns the initialization expression.
    (package private) net.ssehub.easy.instantiation.core.model.vilTypes.TypeDescriptor<?>
    Returns the variable type.
    net.ssehub.easy.instantiation.core.model.vilTypes.TypeDescriptor<?>
     

    Methods inherited from class net.ssehub.easy.instantiation.core.model.expressions.Expression

    getFormattingHint, replaceEmptyLine

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • cause

      private transient org.eclipse.emf.ecore.EObject cause
    • varType

      private transient net.ssehub.easy.instantiation.core.model.vilTypes.TypeDescriptor<?> varType
    • init

      private transient net.ssehub.easy.instantiation.core.model.expressions.Expression init
  • Constructor Details

    • DeferredResolvableOperationExpression

      DeferredResolvableOperationExpression(org.eclipse.emf.ecore.EObject cause, net.ssehub.easy.instantiation.core.model.vilTypes.TypeDescriptor<?> varType, net.ssehub.easy.instantiation.core.model.expressions.Expression init)
      Creates a resolvable operation expression.
      Parameters:
      cause - the Ecore instance causing this expression
      varType - the actual variable type
      init - the initialization expression
  • Method Details

    • inferType

      public net.ssehub.easy.instantiation.core.model.vilTypes.TypeDescriptor<?> inferType() throws net.ssehub.easy.instantiation.core.model.common.VilException
      Specified by:
      inferType in class net.ssehub.easy.instantiation.core.model.expressions.Expression
      Throws:
      net.ssehub.easy.instantiation.core.model.common.VilException
    • accept

      public Object accept(net.ssehub.easy.instantiation.core.model.expressions.IExpressionVisitor visitor) throws net.ssehub.easy.instantiation.core.model.common.VilException
      Specified by:
      accept in class net.ssehub.easy.instantiation.core.model.expressions.Expression
      Throws:
      net.ssehub.easy.instantiation.core.model.common.VilException
    • getCause

      org.eclipse.emf.ecore.EObject getCause()
      Returns the ECore cause.
      Returns:
      the cause
    • getVarType

      net.ssehub.easy.instantiation.core.model.vilTypes.TypeDescriptor<?> getVarType()
      Returns the variable type.
      Returns:
      the variable type
    • getInit

      net.ssehub.easy.instantiation.core.model.expressions.Expression getInit()
      Returns the initialization expression.
      Returns:
      the initialization expression