Interface ITypeSystem

  • All Known Implementing Classes:
    com._1c.g5.v8.dt.internal.ql.typesystem.AbstractTypeSystem, QlTypeSystem

    public interface ITypeSystem
    System of type for expression in different languages. Keep information about correspondence between type and expression (feature of expression)
    • Method Detail

      • defineFixType

        void defineFixType​(org.eclipse.emf.ecore.EClass clazz,
                           TypeDescription type,
                           IAdditionalExpressionChecker checker)
        define fixed type for expression (repeated call rewrite type)
        Parameters:
        clazz - identifier of expression
        type -
        checker - - for additional check for this expression
      • getFixType

        TypeDescription getFixType​(org.eclipse.emf.ecore.EClass clazz)
        get fixed type for expression
        Parameters:
        clazz - identifier of expression
      • getAdditChecker

        IAdditionalExpressionChecker getAdditChecker​(org.eclipse.emf.ecore.EClass clazz)
        get additional checker
        Parameters:
        clazz - identifier of expression
      • isDefineFixType

        boolean isDefineFixType​(org.eclipse.emf.ecore.EClass clazz)
        Parameters:
        clazz - identifier of expression
        Returns:
        true, if the type for expression was defined
      • defineFeatureType

        void defineFeatureType​(org.eclipse.emf.ecore.EClass clazz,
                               org.eclipse.emf.ecore.EStructuralFeature feature,
                               TypeDescription type)
        define types for features in expression clazz
        Parameters:
        clazz - identifier of expression
        feature - identifier of feature expression
        type - of feature
      • isDefineFeatureType

        boolean isDefineFeatureType​(org.eclipse.emf.ecore.EClass clazz,
                                    org.eclipse.emf.ecore.EStructuralFeature feature)
        Parameters:
        clazz - identifier of expression
        feature - identifier of feature expression
        Returns:
        true, if the type for feature expression was defined
      • getFeatureType

        TypeDescription getFeatureType​(org.eclipse.emf.ecore.EClass clazz,
                                       org.eclipse.emf.ecore.EStructuralFeature feature)
        get type for feature in expression clazz
        Parameters:
        clazz - identifier of expression
        feature - identifier of feature expression
        Returns:
        type of feature
      • defineAllFeatureType

        void defineAllFeatureType​(org.eclipse.emf.ecore.EClass clazz,
                                  TypeDescription type)
        define the same type for all feature in expression clazz
        Parameters:
        clazz - identifier of expression
        type -
      • addFeatureCastingType

        boolean addFeatureCastingType​(org.eclipse.emf.ecore.EClass clazz,
                                      org.eclipse.emf.ecore.EStructuralFeature feature,
                                      TypeDescription castingType)
        define that the castingType maybe used instead originalType in feature in expression clazz
        Parameters:
        clazz - identifier of expression
        feature - identifier of feature expression
        originalType -
        castingType -
        Returns:
        false, if feature doesn't have type
      • getAllFeatureCastingType

        List<TypeDescription> getAllFeatureCastingType​(org.eclipse.emf.ecore.EClass clazz,
                                                       org.eclipse.emf.ecore.EStructuralFeature feature)
        Parameters:
        clazz - identifier of expression
        feature - identifier of feature expression
        Returns:
        list of casting type for feature
      • addCastingType

        void addCastingType​(TypeDescription originalType,
                            TypeDescription castingType)
        define that the castingType maybe used instead originalType in any expression
        Parameters:
        originalType -
        castingType -