Class DSLScopeProvider

  • All Implemented Interfaces:
    org.eclipse.xtext.scoping.impl.IDelegatingScopeProvider, org.eclipse.xtext.scoping.IScopeProvider

    public class DSLScopeProvider
    extends org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider
    This class contains custom scoping description. see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#scoping on how and when to use it
    Author:
    Rene Schneider - initial API and implementation
    • Field Summary

      • Fields inherited from class org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider

        logger, NAMED_DELEGATE, NAMED_ERROR_HANDLER
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.eclipse.xtext.scoping.IScope determineDefaultResultEnumValueScope​(MethodReference aMethodRef)
      Determine valid enumeration values for the default result type of the provided fixture method reference.
      protected org.eclipse.xtext.scoping.IScope determineNamedResultEnumValueScope​(MethodReference aMethodRef, org.eclipse.xtext.common.types.JvmField aField)
      Determine valid enumeration values for the default result type of the provided fixture method reference.
      protected org.eclipse.xtext.scoping.IScope determineParameterEnumValueScope​(MethodReference aMethodRef, ParameterName aParameterName)
      Determine valid enumeration values for the provided parameter name of the provided fixture method reference.
      static void endFullBuildCycle()
      See startFullBuildCycle(), just in reverse.
      protected org.eclipse.xtext.scoping.IScope filterPrivateElements​(org.eclipse.xtext.scoping.IScope aScope, org.eclipse.emf.ecore.EObject aStatement)
      Filters all private elements out of a scope.
      protected java.util.List<org.eclipse.xtext.resource.IEObjectDescription> generateImportDescriptions​(java.util.List<java.lang.String> someImports, java.util.Map<java.lang.String,​java.util.List<org.eclipse.xtext.resource.IEObjectDescription>> anEntitiesPerPackageMap)
      Generates a list of import entity descriptions from a list of package imports and a map of descriptions per package.
      org.eclipse.xtext.scoping.IScope scope_EnumValue_enumValue​(NamedResult aNamedResult, org.eclipse.emf.ecore.EReference aRef)
      Limit enum values in named test results to actually existent enumeration literals.
      org.eclipse.xtext.scoping.IScope scope_EnumValue_enumValue​(Parameter aParameter, org.eclipse.emf.ecore.EReference aRef)
      Limits enumeration values in parameters to actually existent enumeration literals.
      org.eclipse.xtext.scoping.IScope scope_EnumValue_enumValue​(ParameterTableValue aParameter, org.eclipse.emf.ecore.EReference aRef)
      Lists enumeration values in tabletest parameters (which can be actual parameters or results, depending on the header of the column).
      org.eclipse.xtext.scoping.IScope scope_EnumValue_enumValue​(Test aTest, org.eclipse.emf.ecore.EReference aRef)
      Limit enum values in test results to actually existent enumeration literals.
      org.eclipse.xtext.scoping.IScope scope_FixedParameterName_annotation​(FixedParameterName aParameterName, org.eclipse.emf.ecore.EReference aRef)
      Limits the fixed parameter names to those defined in a fixture method signature.
      org.eclipse.xtext.scoping.IScope scope_FixedResultName_field​(Call aCall, org.eclipse.emf.ecore.EReference aRef)
      Limit named test results to actually existing fields in the result container object.
      org.eclipse.xtext.scoping.IScope scope_FixedResultName_field​(TableTest aTableTest, org.eclipse.emf.ecore.EReference aRef)
      Limit named test results to actually existing fields in the result container object.
      org.eclipse.xtext.scoping.IScope scope_FixedResultName_field​(Test aTest, org.eclipse.emf.ecore.EReference aRef)
      Limit named test results to actually existing fields in the result container object.
      org.eclipse.xtext.scoping.IScope scope_JavaConstantReference_constant​(JavaConstantReference aConstantRef, org.eclipse.emf.ecore.EReference aRef)
      Limits Java constant references to "public static final" ones.
      org.eclipse.xtext.scoping.IScope scope_MethodReference_method​(MethodReference aMethodRef, org.eclipse.emf.ecore.EReference aRef)
      Limits the fixture method references to actually existing methods with the necessary annotation.
      org.eclipse.xtext.scoping.IScope scope_Suite_definition​(Suite aSuite, org.eclipse.emf.ecore.EReference aRef)
      >>>>>>> v0.15.x_bugfix This basically performs a default import on everything in the local file by adding another scope entry for all suite definitions in the current file.
      org.eclipse.xtext.scoping.IScope scope_Suite_fork​(Suite aSuite, org.eclipse.emf.ecore.EReference aRef)
      Filters out private forks.
      org.eclipse.xtext.scoping.IScope scope_SuiteParameter_name​(SuiteParameter aParameter, org.eclipse.emf.ecore.EReference aRef)
      Limits suite parameters to actually defined parameters.
      org.eclipse.xtext.scoping.IScope scope_SuiteReturn_name​(Suite aSuite, org.eclipse.emf.ecore.EReference aRef)
      Determines the scope of SuiteReturns.
      org.eclipse.xtext.scoping.IScope scope_Variable_name​(ConstantDefinition aConstantDefinition, org.eclipse.emf.ecore.EReference aRef)
      Determines variables/constants in scope for constant definitions.
      org.eclipse.xtext.scoping.IScope scope_Variable_name​(Parameter aParam, org.eclipse.emf.ecore.EReference aRef)
      Prevents variables in parameters from being influenced by #scope_Variable_name(Call, EReference), and filters out variables defined as suite parameters in other suites.
      org.eclipse.xtext.scoping.IScope scope_Variable_name​(Suite aSuite, org.eclipse.emf.ecore.EReference aRef)
      Determines variables/constants in scope for suite parameters.
      org.eclipse.xtext.scoping.IScope scope_Variable_name​(TableTest aTableTest, org.eclipse.emf.ecore.EReference aRef)
      Determines variables/constants in scope for table test parameters or results.
      org.eclipse.xtext.scoping.IScope scope_Variable_name​(Test aTest, org.eclipse.emf.ecore.EReference aRef)
      Determines variables/constants in scope for test parameters or results.
      org.eclipse.xtext.scoping.IScope scope_Variable_name​(VariableDefinition aVariableDefinition, org.eclipse.emf.ecore.EReference aRef)
      <<<<<<< HEAD ======= Determines variables/constants in scope for variable definitions.
      org.eclipse.xtext.scoping.IScope scope_VariableVariable_name​(Call aCall, org.eclipse.emf.ecore.EReference aRef)
      Limit result variables for calls to actual variables.
      static void startFullBuildCycle()
      Can be called to signify the start of a full build cycle.
      • Methods inherited from class org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider

        delegateGetScope, getDelegate, getErrorHandler, getPredicate, getPredicate, getScope, polymorphicFindScopeForClassName, polymorphicFindScopeForReferenceName, setDelegate, setErrorHandler
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.eclipse.xtext.scoping.impl.IDelegatingScopeProvider

        setWrapper
    • Constructor Detail

      • DSLScopeProvider

        public DSLScopeProvider()
    • Method Detail

      • scope_FixedParameterName_annotation

        public org.eclipse.xtext.scoping.IScope scope_FixedParameterName_annotation​(FixedParameterName aParameterName,
                                                                                    org.eclipse.emf.ecore.EReference aRef)
        Limits the fixed parameter names to those defined in a fixture method signature.
        Parameters:
        aParameterName -
        aRef -
        Returns:
      • scope_MethodReference_method

        public org.eclipse.xtext.scoping.IScope scope_MethodReference_method​(MethodReference aMethodRef,
                                                                             org.eclipse.emf.ecore.EReference aRef)
        Limits the fixture method references to actually existing methods with the necessary annotation.
        Parameters:
        aMethodRef -
        aRef -
        Returns:
      • scope_JavaConstantReference_constant

        public org.eclipse.xtext.scoping.IScope scope_JavaConstantReference_constant​(JavaConstantReference aConstantRef,
                                                                                     org.eclipse.emf.ecore.EReference aRef)
        Limits Java constant references to "public static final" ones.
        Parameters:
        aConstantRef -
        aRef -
        Returns:
      • scope_SuiteParameter_name

        public org.eclipse.xtext.scoping.IScope scope_SuiteParameter_name​(SuiteParameter aParameter,
                                                                          org.eclipse.emf.ecore.EReference aRef)
        Limits suite parameters to actually defined parameters.
        Parameters:
        aParameter -
        aRef -
        Returns:
      • determineParameterEnumValueScope

        protected org.eclipse.xtext.scoping.IScope determineParameterEnumValueScope​(MethodReference aMethodRef,
                                                                                    ParameterName aParameterName)
        Determine valid enumeration values for the provided parameter name of the provided fixture method reference.
        Parameters:
        aMethodRef -
        aParameterName -
        Returns:
      • determineDefaultResultEnumValueScope

        protected org.eclipse.xtext.scoping.IScope determineDefaultResultEnumValueScope​(MethodReference aMethodRef)
        Determine valid enumeration values for the default result type of the provided fixture method reference.
        Parameters:
        aMethodRef -
        Returns:
      • determineNamedResultEnumValueScope

        protected org.eclipse.xtext.scoping.IScope determineNamedResultEnumValueScope​(MethodReference aMethodRef,
                                                                                      org.eclipse.xtext.common.types.JvmField aField)
        Determine valid enumeration values for the default result type of the provided fixture method reference.
        Parameters:
        aMethodRef -
        Returns:
      • scope_EnumValue_enumValue

        public org.eclipse.xtext.scoping.IScope scope_EnumValue_enumValue​(Parameter aParameter,
                                                                          org.eclipse.emf.ecore.EReference aRef)
        Limits enumeration values in parameters to actually existent enumeration literals.
        Parameters:
        aParameter -
        aRef -
        Returns:
      • scope_EnumValue_enumValue

        public org.eclipse.xtext.scoping.IScope scope_EnumValue_enumValue​(ParameterTableValue aParameter,
                                                                          org.eclipse.emf.ecore.EReference aRef)
        Lists enumeration values in tabletest parameters (which can be actual parameters or results, depending on the header of the column).
        Parameters:
        aParameter -
        aRef -
        Returns:
      • scope_EnumValue_enumValue

        public org.eclipse.xtext.scoping.IScope scope_EnumValue_enumValue​(Test aTest,
                                                                          org.eclipse.emf.ecore.EReference aRef)
        Limit enum values in test results to actually existent enumeration literals.
        Parameters:
        aTest -
        aRef -
        Returns:
      • scope_EnumValue_enumValue

        public org.eclipse.xtext.scoping.IScope scope_EnumValue_enumValue​(NamedResult aNamedResult,
                                                                          org.eclipse.emf.ecore.EReference aRef)
        Limit enum values in named test results to actually existent enumeration literals.
        Parameters:
        aNamedResult -
        aRef -
        Returns:
      • scope_FixedResultName_field

        public org.eclipse.xtext.scoping.IScope scope_FixedResultName_field​(Test aTest,
                                                                            org.eclipse.emf.ecore.EReference aRef)
        Limit named test results to actually existing fields in the result container object.
        Parameters:
        aTest -
        aRef -
        Returns:
      • scope_FixedResultName_field

        public org.eclipse.xtext.scoping.IScope scope_FixedResultName_field​(Call aCall,
                                                                            org.eclipse.emf.ecore.EReference aRef)
        Limit named test results to actually existing fields in the result container object.
        Parameters:
        aCall -
        aRef -
        Returns:
      • scope_FixedResultName_field

        public org.eclipse.xtext.scoping.IScope scope_FixedResultName_field​(TableTest aTableTest,
                                                                            org.eclipse.emf.ecore.EReference aRef)
        Limit named test results to actually existing fields in the result container object.
        Parameters:
        aTableTest -
        aRef -
        Returns:
      • scope_VariableVariable_name

        public org.eclipse.xtext.scoping.IScope scope_VariableVariable_name​(Call aCall,
                                                                            org.eclipse.emf.ecore.EReference aRef)
        Limit result variables for calls to actual variables.
        Parameters:
        aCall -
        aRef -
        Returns:
      • scope_Variable_name

        public org.eclipse.xtext.scoping.IScope scope_Variable_name​(Parameter aParam,
                                                                    org.eclipse.emf.ecore.EReference aRef)
        Prevents variables in parameters from being influenced by #scope_Variable_name(Call, EReference), and filters out variables defined as suite parameters in other suites.
        Parameters:
        aParam -
        aRef -
        Returns:
      • scope_Variable_name

        public org.eclipse.xtext.scoping.IScope scope_Variable_name​(TableTest aTableTest,
                                                                    org.eclipse.emf.ecore.EReference aRef)
        Determines variables/constants in scope for table test parameters or results.
        Parameters:
        aTableTestRow -
        aRef -
        Returns:
      • scope_Variable_name

        public org.eclipse.xtext.scoping.IScope scope_Variable_name​(Test aTest,
                                                                    org.eclipse.emf.ecore.EReference aRef)
        Determines variables/constants in scope for test parameters or results.
        Parameters:
        aTest -
        aRef -
        Returns:
      • scope_Variable_name

        public org.eclipse.xtext.scoping.IScope scope_Variable_name​(Suite aSuite,
                                                                    org.eclipse.emf.ecore.EReference aRef)
        Determines variables/constants in scope for suite parameters.
        Returns:
      • scope_Variable_name

        public org.eclipse.xtext.scoping.IScope scope_Variable_name​(VariableDefinition aVariableDefinition,
                                                                    org.eclipse.emf.ecore.EReference aRef)
        <<<<<<< HEAD ======= Determines variables/constants in scope for variable definitions.
        Returns:
      • scope_Variable_name

        public org.eclipse.xtext.scoping.IScope scope_Variable_name​(ConstantDefinition aConstantDefinition,
                                                                    org.eclipse.emf.ecore.EReference aRef)
        Determines variables/constants in scope for constant definitions.
        Returns:
      • scope_Suite_definition

        public org.eclipse.xtext.scoping.IScope scope_Suite_definition​(Suite aSuite,
                                                                       org.eclipse.emf.ecore.EReference aRef)
        >>>>>>> v0.15.x_bugfix This basically performs a default import on everything in the local file by adding another scope entry for all suite definitions in the current file.
        Parameters:
        aSuite -
        aRef -
        Returns:
      • scope_Suite_fork

        public org.eclipse.xtext.scoping.IScope scope_Suite_fork​(Suite aSuite,
                                                                 org.eclipse.emf.ecore.EReference aRef)
        Filters out private forks.
        Parameters:
        aSuite -
        aRef -
        Returns:
      • scope_SuiteReturn_name

        public org.eclipse.xtext.scoping.IScope scope_SuiteReturn_name​(Suite aSuite,
                                                                       org.eclipse.emf.ecore.EReference aRef)
        Determines the scope of SuiteReturns.
        Parameters:
        aSuite -
        aRef -
        Returns:
      • startFullBuildCycle

        public static void startFullBuildCycle()
        Can be called to signify the start of a full build cycle. Must be done from the Xtext builder, which cannot be a dependency of this scope provider, thus this is exported as an API for the .ui package to be used.
      • generateImportDescriptions

        protected java.util.List<org.eclipse.xtext.resource.IEObjectDescription> generateImportDescriptions​(java.util.List<java.lang.String> someImports,
                                                                                                            java.util.Map<java.lang.String,​java.util.List<org.eclipse.xtext.resource.IEObjectDescription>> anEntitiesPerPackageMap)
        Generates a list of import entity descriptions from a list of package imports and a map of descriptions per package.
        Parameters:
        someImports -
        anEntitiesPerPackageMap -
        Returns:
      • filterPrivateElements

        protected org.eclipse.xtext.scoping.IScope filterPrivateElements​(org.eclipse.xtext.scoping.IScope aScope,
                                                                         org.eclipse.emf.ecore.EObject aStatement)
        Filters all private elements out of a scope. This wraps the given scope in a FilteringScope.
        Parameters:
        aScope -
        aStatement -
        Returns: