Entry point
(final String source)
| 435 | |
| 436 | /** Entry point */ |
| 437 | public String format(final String source) { |
| 438 | final String normalizedText = source.replaceAll("\r", ""); |
| 439 | String cleanText = normalizedText; |
| 440 | if (!normalizedText.endsWith("\n")) { |
| 441 | cleanText += "\n"; |
| 442 | } |
| 443 | |
| 444 | // Globals' description at top of file. |
| 445 | result.setLength(0); |
| 446 | indentValue = Preferences.getInteger("editor.tabs.size"); |
| 447 | |
| 448 | boolean forFlag = if_flg = false; |
| 449 | startFlag = true; |
| 450 | int forParenthLevel = 0; |
| 451 | conditionalLevel = parenLevel = curlyLvl = if_lev = level = 0; |
| 452 | tabs = 0; |
| 453 | jdoc_flag = inStatementFlag = overflowFlag = false; |
| 454 | pos = arrayLevel = -1; |
| 455 | |
| 456 | int[] s_level = new int[10]; |
| 457 | sp_flg = new int[20][10]; |
| 458 | s_ind = new boolean[20][10]; |
| 459 | int[] s_if_lev = new int[10]; // Stack |
| 460 | boolean[] s_if_flg = new boolean[10]; // Stack |
| 461 | ind = new boolean[10]; |
| 462 | p_flg = new int[10]; |
| 463 | s_tabs = new int[20][10]; |
| 464 | doWhileFlags = new Stack<>(); |
| 465 | ifWhileForFlags = new Stack<>(); |
| 466 | |
| 467 | chars = cleanText.toCharArray(); |
| 468 | |
| 469 | EOF = false; // set in nextChar() when EOF |
| 470 | |
| 471 | while (!EOF) { |
| 472 | char c = nextChar(); |
| 473 | |
| 474 | switch (c) { |
| 475 | default: |
| 476 | inStatementFlag = true; |
| 477 | buf.append(c); |
| 478 | break; |
| 479 | |
| 480 | case ',': |
| 481 | inStatementFlag = true; |
| 482 | trimRight(buf); |
| 483 | buf.append(", "); |
| 484 | advanceToNonSpace(false); |
| 485 | break; |
| 486 | |
| 487 | case ' ': |
| 488 | case '\t': |
| 489 | elseFlag = bufEnds("else"); |
| 490 | if (elseFlag) { |
| 491 | gotElse(); |
| 492 | if (!startFlag || buf.length() > 0) { |
| 493 | buf.append(c); |
| 494 | } |
nothing calls this directly
no test coverage detected