Class OptionalWrappedVariableToMap
java.lang.Object
eu.solven.cleanthat.engine.java.refactorer.AJavaparserAstMutator
eu.solven.cleanthat.engine.java.refactorer.AJavaparserNodeMutator
eu.solven.cleanthat.engine.java.refactorer.AJavaparserExprMutator
eu.solven.cleanthat.engine.java.refactorer.mutators.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
-
Field Summary
Fields inherited from interface eu.solven.cleanthat.engine.java.refactorer.meta.IMutator
ID_NOOP, IS_PRODUCTION_READY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
adjustMethodName
(com.github.javaparser.ast.expr.MethodCallExpr methodCallExpr) computeMapMethodName
(NodeAndSymbolSolver<? extends com.github.javaparser.ast.expr.Expression> expression, com.github.javaparser.ast.type.Type type) protected Class<?>
getTags()
protected boolean
processExpression
(NodeAndSymbolSolver<com.github.javaparser.ast.expr.Expression> expr) Methods inherited from class eu.solven.cleanthat.engine.java.refactorer.AJavaparserExprMutator
processNotRecursively, replaceExpression
Methods inherited from class eu.solven.cleanthat.engine.java.refactorer.AJavaparserNodeMutator
cancelDueToComment, getNbRemoveIssues, getNbReplaceIssues, isMethodReturnUsed, logJavaParserIssue, onMethodName, optResolved, replaceNode, tryRemove, tryReplace, tryReplace
Methods inherited from class eu.solven.cleanthat.engine.java.refactorer.AJavaparserAstMutator
getNbIdempotencyIssues, messageForIssueReporting, simulateOnClone, walkAst
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface eu.solven.cleanthat.engine.java.refactorer.meta.IMutator
getId, getIds, isDraft, isJreOnly
Methods inherited from interface eu.solven.cleanthat.engine.java.refactorer.meta.IMutatorExternalReferences
checkstyleUrl, errorProneUrl, getCheckstyleId, getCleanthatId, getErrorProneId, getJSparrowId, getLegacyIds, getPmdId, getPmdIds, getSeeUrls, getSonarId, getSpotBugsId, jSparrowUrl, pmdUrl, sonarUrl, spotBugsUrl
Methods inherited from interface eu.solven.cleanthat.engine.java.refactorer.meta.IWalkingMutator
walkAstHasChanged
-
Constructor Details
-
OptionalWrappedVariableToMap
public OptionalWrappedVariableToMap()
-
-
Method Details
-
minimalJavaVersion
- Specified by:
minimalJavaVersion
in interfaceIMutator
-
getTags
-
getEligibleForUnwrappedMap
-
getExpectedScope
-
processExpression
protected boolean processExpression(NodeAndSymbolSolver<com.github.javaparser.ast.expr.Expression> expr) - Overrides:
processExpression
in classAJavaparserExprMutator
-
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)
-