Class OptionalWrappedVariableToMap

All Implemented Interfaces:
ICountMutatorIssues, IJavaparserAstMutator, IJavaparserNodeMutator, IMutator, IMutatorExternalReferences, IReApplyUntilNoop, IWalkingMutator<com.github.javaparser.ast.Node,com.github.javaparser.ast.Node>
Direct Known Subclasses:
StreamWrappedVariableToMap

public class OptionalWrappedVariableToMap extends AJavaparserExprMutator implements IReApplyUntilNoop
Turns `o.ifPresent(s -> { String subString = s.substring(1); System.out.println(subString); });` into `o.map(s -> s.substring(1)).ifPresent(subString -> { System.out.println(subString); });`
Author:
Benoit Lacelle
  • Constructor Details

    • OptionalWrappedVariableToMap

      public OptionalWrappedVariableToMap()
  • Method Details

    • minimalJavaVersion

      public String minimalJavaVersion()
      Specified by:
      minimalJavaVersion in interface IMutator
    • getTags

      public Set<String> getTags()
      Specified by:
      getTags in interface IMutator
    • getEligibleForUnwrappedMap

      protected Set<String> getEligibleForUnwrappedMap()
    • getExpectedScope

      protected Class<?> getExpectedScope()
    • processExpression

      protected boolean processExpression(NodeAndSymbolSolver<com.github.javaparser.ast.expr.Expression> expr)
      Overrides:
      processExpression in class AJavaparserExprMutator
    • computeMapMethodName

      protected Optional<String> computeMapMethodName(NodeAndSymbolSolver<? extends com.github.javaparser.ast.expr.Expression> expression, com.github.javaparser.ast.type.Type type)
    • adjustMethodName

      protected void adjustMethodName(com.github.javaparser.ast.expr.MethodCallExpr methodCallExpr)