mike duigou created NETBEANS-97:
-----------------------------------

             Summary: Improve java source reformatting of try and synchronized 
blocks with control structures
                 Key: NETBEANS-97
                 URL: https://issues.apache.org/jira/browse/NETBEANS-97
             Project: NetBeans
          Issue Type: Improvement
          Components: java - Source
    Affects Versions: 9.0
            Reporter: mike duigou
            Assignee: mike duigou
            Priority: Minor
             Fix For: 9.0


This issue recreates [https://netbeans.org/bugzilla/show_bug.cgi?id=269050 
Netbeans bug 269050]. New bug database, new hope for integration!

Currently the java source reformatter (java.source.base 
org.netbeans.modules.java.source.save.Reformatter) does not treat try and 
synchronized blocks as blocks when it encounters them with control structures. 
So

{code:java}
if (foo == bar) try {
   baz();
} catch (Exception all) {
   log.(....);
}
{code}

is reformatted as :

{code:java}
if (foo == bar) {
  try {
    baz();
  } catch (Exception all) {
    log.(....);
  }
}
{code}

The additional added basic block layer is not needed as the try is already a 
block. The same applies for a synchronized block as well.

{code:java}
if (foo == bar) synchronized(quux) {
   baz();
}
{code}

is currently reformatted as :

{code:java}
if (foo == bar) {
  synchronized(quux) {
    baz();
  }
}
{code}

In addition to "if/else" this formatting all affects other control structures 
such as "for", "for-each" and "while".

Line breaks are preserved so existing source 

{code:java}
if (foo == bar) {
  synchronized(quux) {
    baz();
  }
}
{code}

will be reformatted with line breaks intact--only the braces will be removed 
{code:java}
if (foo == bar) 
  synchronized(quux) {
    baz();
  }
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to