class_docstr: An abstract class for word merges.
class_docstr_tok: ["An","abstract","class","for","word","merges","."]
docstr: Returns a list of all possible transformations for ``current_text``.
  Applies the ``pre_transformation_constraints`` then calls
  ``_get_transformations``.
  
  Args:
      current_text: The ``AttackedText`` to transform.
      pre_transformation_constraints: The ``PreTransformationConstraint`` to apply before
          beginning the transformation.
      indices_to_modify: Which word indices should be modified as dictated by the
          ``SearchMethod``.
      shifted_idxs (bool): Whether indices have been shifted from
          their original position in the text.
docstr_tok: ["Returns","a","list","of","all","possible","transformations","for","``","current_text","``",".","Applies","the","``","pre_transformation_constraints","``","then","calls","``","_get_transformations","``",".","Args",":","current_text",":","The","``","AttackedText","``","to","transform",".","pre_transformation_constraints",":","The","``","PreTransformationConstraint","``","to","apply","before","beginning","the","transformation",".","indices_to_modify",":","Which","word","indices","should","be","modified","as","dictated","by","the","``","SearchMethod","``",".","shifted_idxs","(","bool",")",":","Whether","indices","have","been","shifted","from","their","original","position","in","the","text","."]
code: def __call__(
      self,
      current_text,
      pre_transformation_constraints=[],
      indices_to_modify=None,
      shifted_idxs=True,
  ):
      """Returns a list of all possible transformations for ``current_text``.
      Applies the ``pre_transformation_constraints`` then calls
      ``_get_transformations``.
  
      Args:
          current_text: The ``AttackedText`` to transform.
          pre_transformation_constraints: The ``PreTransformationConstraint`` to apply before
              beginning the transformation.
          indices_to_modify: Which word indices should be modified as dictated by the
              ``SearchMethod``.
          shifted_idxs (bool): Whether indices have been shifted from
              their original position in the text.
      """
      if indices_to_modify is None:
          indices_to_modify = set(range(len(current_text.words) - 1))
      else:
          indices_to_modify = set(indices_to_modify)
  
      if shifted_idxs:
          indices_to_modify = set(
              current_text.convert_from_original_idxs(indices_to_modify)
          )
  
      for constraint in pre_transformation_constraints:
          allowed_indices = constraint(current_text, self)
          for i in indices_to_modify:
              if (
                  i not in allowed_indices
                  and i + 1 not in allowed_indices
              ):
                  indices_to_modify.remove(i)
  
      transformed_texts = self._get_transformations(
          current_text, indices_to_modify
      )
      for text in transformed_texts:
          text.attack_attrs["last_transformation"] = self
          if len(text.attack_attrs["newly_modified_indices"]) == 0:
              print(
                  "xcv",
                  text,
                  len(text.attack_attrs["newly_modified_indices"]),
              )
      return transformed_texts
  
imports: from textattack.transformations import Transformation
label_desc: Use image node_id 1 for calling the WordMerge obj's underlying member method code with example usage: obj.__call__(current_text, pre_transformation_constraints, indices_to_modify, shifted_idxs) and returns: transformed_texts