Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–46 unchanged (46 lines)
47 for (int i = 0; i < len; i++) {
48 if (Character.isLetter(str.charAt(i))) {
49 chars[count++] = str.charAt(i);
50 }
51 }
52 if (count == len) {
53 return str.toUpperCase();
54 }
55 return new String(chars, 0, count).toUpperCase(java.util.Locale.ENGLISH);
56 }
57
58 /**
59 * Encodes the Strings and returns the number of characters in the two
…lines 60–124 unchanged (65 lines)

After

…lines 1–46 unchanged (46 lines)
47 for (int i = 0; i < len; i++) {
48 if (Character.isLetter(str.charAt(i))) {
49 chars[count++] = str.charAt(i);
50 }
51 }
52 if (count == len) {
53 return str.toUpperCase(java.util.Locale.ENGLISH);
54 }
55 return new String(chars, 0, count).toUpperCase(java.util.Locale.ENGLISH);
56 }
57
58 /**
59 * Encodes the Strings and returns the number of characters in the two
…lines 60–124 unchanged (65 lines)

Before

program
block_comment "/*\n * Licensed to the Apache Software Foundation (ASF) under"...
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "apache"
. "."
identifier "commons"
. "."
identifier "codec"
. "."
identifier "language"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "apache"
. "."
identifier "commons"
. "."
identifier "codec"
. "."
identifier "EncoderException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "apache"
. "."
identifier "commons"
. "."
identifier "codec"
. "."
identifier "StringEncoder"
; ";"
block_comment "/**\n * Utility methods for {@link Soundex} and {@link Refine"...
class_declaration
modifiers
final "final"
class "class"
identifier "SoundexUtils"
class_body
{ "{"
block_comment "/**\n\t * Cleans up the input string before Soundex processing"...
method_declaration
modifiers
static "static"
type_identifier "String"
identifier "clean"
formal_parameters
( "("
formal_parameter
type_identifier "String"
identifier "str"
) ")"
block
{ "{"
if_statement (+28 nodes collapsed)
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "len"
= "="
method_invocation
identifier "str"
. "."
identifier "length"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
array_type
integral_type
char "char"
dimensions
[ "["
] "]"
variable_declarator
identifier "chars"
= "="
array_creation_expression
new "new"
integral_type
char "char"
dimensions_expr
[ "["
identifier "len"
] "]"
; ";"
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "count"
= "="
decimal_integer_literal "0"
; ";"
for_statement (+65 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "count"
== "=="
identifier "len"
) ")"
block
{ "{"
return_statement
return "return"
method_invocation
identifier "str"
. "."
identifier "toUpperCase"
argument_list
( "("
) ")"
; ";"
} "}"
return_statement (+30 nodes collapsed)
} "}"
block_comment "/**\n\t * Encodes the Strings and returns the number of charac"...
method_declaration (+51 nodes collapsed)
block_comment "/**\n\t * Returns the number of characters in the two Soundex "...
method_declaration (+136 nodes collapsed)
} "}"

After

program
block_comment "/*\n * Licensed to the Apache Software Foundation (ASF) under"...
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "apache"
. "."
identifier "commons"
. "."
identifier "codec"
. "."
identifier "language"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "apache"
. "."
identifier "commons"
. "."
identifier "codec"
. "."
identifier "EncoderException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "apache"
. "."
identifier "commons"
. "."
identifier "codec"
. "."
identifier "StringEncoder"
; ";"
block_comment "/**\n * Utility methods for {@link Soundex} and {@link Refine"...
class_declaration
modifiers
final "final"
class "class"
identifier "SoundexUtils"
class_body
{ "{"
block_comment "/**\n\t * Cleans up the input string before Soundex processing"...
method_declaration
modifiers
static "static"
type_identifier "String"
identifier "clean"
formal_parameters
( "("
formal_parameter
type_identifier "String"
identifier "str"
) ")"
block
{ "{"
if_statement (+28 nodes collapsed)
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "len"
= "="
method_invocation
identifier "str"
. "."
identifier "length"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
array_type
integral_type
char "char"
dimensions
[ "["
] "]"
variable_declarator
identifier "chars"
= "="
array_creation_expression
new "new"
integral_type
char "char"
dimensions_expr
[ "["
identifier "len"
] "]"
; ";"
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "count"
= "="
decimal_integer_literal "0"
; ";"
for_statement (+65 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "count"
== "=="
identifier "len"
) ")"
block
{ "{"
return_statement
return "return"
method_invocation
identifier "str"
. "."
identifier "toUpperCase"
argument_list
( "("
field_access
field_access
field_access
identifier "java"
. "."
identifier "util"
. "."
identifier "Locale"
. "."
identifier "ENGLISH"
) ")"
; ";"
} "}"
return_statement (+30 nodes collapsed)
} "}"
block_comment "/**\n\t * Encodes the Strings and returns the number of charac"...
method_declaration (+51 nodes collapsed)
block_comment "/**\n\t * Returns the number of characters in the two Soundex "...
method_declaration (+136 nodes collapsed)
} "}"