class_docstr: An attack generates adversarial examples on text.
  
  This is an abstract class that contains main helper functionality for
  attacks. An attack is comprised of a search method, goal function,
  a transformation, and a set of one or more linguistic constraints that
  successful examples must meet.
class_docstr_tok: ["An","attack","generates","adversarial","examples","on","text",".","This","is","an","abstract","class","that","contains","main","helper","functionality","for","attacks",".","An","attack","is","comprised","of","a","search","method",",","goal","function",",","a","transformation",",","and","a","set","of","one","or","more","linguistic","constraints","that","successful","examples","must","meet","."]
docstr: Applies ``self.transformation`` to ``text``, then filters the list
  of possible transformations through the applicable constraints.
  
  
  :param current_text: The current ``AttackedText`` on which to perform
      the transformations.
  :param original_text: The original ``AttackedText`` from which the
      attack started.
  :param kwargs:
  :return: A filtered list of transformations where each transformation
      matches the constraints
docstr_tok: ["Applies","``","self.transformation","``","to","``","text","``",",","then","filters","the","list","of","possible","transformations","through","the","applicable","constraints",".",":","param","current_text",":","The","current","``","AttackedText","``","on","which","to","perform","the","transformations",".",":","param","original_text",":","The","original","``","AttackedText","``","from","which","the","attack","started",".",":","param","kwargs",":",":","return",":","A","filtered","list","of","transformations","where","each","transformation","matches","the","constraints"]
code: def _get_transformations_uncached(
      self, current_text, original_text=None, **kwargs
  ):
      """
      Applies ``self.transformation`` to ``text``, then filters the list
      of possible transformations through the applicable constraints.
  
  
      :param current_text: The current ``AttackedText`` on which to perform
          the transformations.
      :param original_text: The original ``AttackedText`` from which the
          attack started.
      :param kwargs:
      :return: A filtered list of transformations where each transformation
          matches the constraints
      """
      transformed_texts = self.transformation(
          current_text,
          pre_transformation_constraints=self.pre_transformation_constraints,
          **kwargs,
      )
  
      return transformed_texts
  
imports: import lru
  from collections import deque
  from ...common import logger
  from textattack.attack_results import FailedAttackResult, MaximizedAttackResult, SuccessfulAttackResult
  from textattack.goal_function_results import GoalFunctionResultStatus
  from textattack.shared import AttackedText, utils
  from textattack.transformations import CompositeTransformation
label_desc: Use image node_id 4 for calling the Attack obj's underlying member method code with example usage: obj._get_transformations_uncached(current_text, original_text) and returns: transformed_texts