def mutate_FunctionDef(self, node):
if not isinstance(node.parent, ast.ClassDef):
raise MutationResign()
for decorator in node.decorator_list:
if isinstance(decorator, ast.Call):
decorator_name = decorator.func.id
elif isinstance(decorator, ast.Attribute):
decorator_name = decorator.value.id
else:
decorator_name = decorator.id
if decorator_name == self.get_decorator_name():
raise MutationResign()
decorator = ast.Name(id=self.get_decorator_name(), ctx=ast.Load())
node.decorator_list.append(decorator)
return node
评论列表
文章目录