Interface IDynamicContextDefProvider

    • Method Detail

      • hasDynamicContext

        boolean hasDynamicContext​(org.eclipse.emf.ecore.EObject semanticObject,
                                  Type computeType,
                                  Environments envs)
        Checks that returning Type computeType by semanticObject has dynamic ContextDef
        Parameters:
        semanticObject - model object from Bsl Model, can't be null. semanticObject instanceof OperatorStyleCreator or FunctionStyleCreator only.
        computeType - Type returning by semanticObject, can be null in case semanticObject doesn't return any Type. Returning type computes by TypesComputer
        envs - actual Environments corresponding to semanticObject in Bsl module, can't be null
        Returns:
        True if returning Type computeType by semanticObject has dynamic ContextDef, false otherwise
      • computeDynamicType

        Type computeDynamicType​(org.eclipse.emf.ecore.EObject semanticObject,
                                Type computeType,
                                Environments envs)
        Computes Type corresponding to semanticObject. This type has expanding ContextDef vs computeType getting from TypesComputer
        Parameters:
        semanticObject - model object from Bsl Model, can't be null. semanticObject instanceof OperatorStyleCreator or FunctionStyleCreator only.
        computeType - Type returning by semanticObject, can be null in case semanticObject doesn't return any Type. Returning type computes by TypesComputer
        envs - actual Environments corresponding to semanticObject in Bsl module, can't be null
        Returns:
        Type corresponding to semanticObject. This type has expanding ContextDef of computeType. Returning type must be identity equals given computeType if and only if computeType != null. In case when computeType == null returning type can be null or can have any type value.