class_docstr: An abstract class that represents constraints which are applied before
  the transformation.
  
  These restrict which words are allowed to be modified during the
  transformation. For example, we might not allow stopwords to be
  modified.
docstr: Returns the word indices in ``current_text`` which are able to be
  modified. First checks compatibility with ``transformation`` then calls
  ``_get_modifiable_indices``
  
  Args:
      current_text: The ``AttackedText`` input to consider.
      transformation: The ``Transformation`` which will be applied.
code: def __call__(self, current_text, transformation):
      """Returns the word indices in ``current_text`` which are able to be
      modified. First checks compatibility with ``transformation`` then calls
      ``_get_modifiable_indices``
  
      Args:
          current_text: The ``AttackedText`` input to consider.
          transformation: The ``Transformation`` which will be applied.
      """
      if not self.check_compatibility(transformation):
          return set(range(len(current_text.words)))
      return self._get_modifiable_indices(current_text)
  
file_path: TextAttack/textattack/constraints/pre_transformation_constraint.py
imports: from abc import ABC, abstractmethod
  from textattack.shared.utils import ReprMixin
label_desc: Use image node_id 1 for calling the PreTransformationConstraint obj's underlying member method code with example usage: obj.__call__(current_text, transformation) and returns: self, set