All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openrewrite.staticanalysis.SimplifyTernary Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2024 the original author or authors.
 * 

* Licensed under the Moderne Source Available License (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *

* https://docs.moderne.io/licensing/moderne-source-available-license *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.openrewrite.staticanalysis; import com.google.errorprone.refaster.annotation.AfterTemplate; import com.google.errorprone.refaster.annotation.BeforeTemplate; import org.openrewrite.java.template.RecipeDescriptor; @RecipeDescriptor( name = "Simplify ternary expressions", description = "Simplifies various types of ternary expressions to improve code readability." ) public class SimplifyTernary { @RecipeDescriptor( name = "Replace `booleanExpression ? true : false` with `booleanExpression`", description = "Replace ternary expressions like `booleanExpression ? true : false` with `booleanExpression`." ) public static class SimplifyTernaryTrueFalse { @BeforeTemplate boolean before(boolean expr) { return expr ? true : false; } @AfterTemplate boolean after(boolean expr) { return expr; } } @RecipeDescriptor( name = "Replace `booleanExpression ? false : true` with `!booleanExpression`", description = "Replace ternary expressions like `booleanExpression ? false : true` with `!booleanExpression`." ) public static class SimplifyTernaryFalseTrue { @BeforeTemplate boolean before(boolean expr) { return expr ? false : true; } @AfterTemplate boolean after(boolean expr) { return !(expr); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy