Skip to content

Needless parentheses around return #770

@boris-petrov

Description

@boris-petrov

Prettier-Java 2.7.4

Playground link

--print-width 55

Input:

public abstract class Foo implements MyInterface {
  @Override public String foo() {
    return (
		true && false && true && false && true
	);
  }
}

Output:

public abstract class Foo implements MyInterface {

	@Override
	public String foo() {
		return (
			true && false && true && false && true
		);
	}
}

Expected behavior:

public abstract class Foo implements MyInterface {

	@Override
	public String foo() {
		return true && false && true && false && true;
	}
}

Note that making print-width 56 leads to a different (and still wrong result):

public abstract class Foo implements MyInterface {

	@Override
	public String foo() {
		return (true && false && true && false && true);
	}
}

In this case, it correctly puts the whole thing on a single line but it doesn't remove the parentheses.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions