Class DynamicContextDefServiceProvider


  • public class DynamicContextDefServiceProvider
    extends Object
    Service for expanding ContextDef of Type by semantic object from Bsl module. Managed with all implementation IDynamicContextDefProvider getting from extension point "com._1c.g5.v8.dt.bsl.dynamicContextDefProvider"
    • Constructor Detail

      • DynamicContextDefServiceProvider

        public DynamicContextDefServiceProvider()
    • Method Detail

      • computeDynamicType

        public Type computeDynamicType​(org.eclipse.emf.ecore.EObject semanticObject,
                                       Type computeType,
                                       Environments envs)
        Computes Type corresponding to semanticObject. This type has expanding ContextDef of computeType getting from TypesComputer. This method invocations are chained, sending extended computeType from one appropriate implementation to another. Classes of extension point mustn't change instance of they must only expand it.
        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 equals computeType if and only if computeType != null. In case when computeType == null returning type can be null or can have anything value.