@@ -42,52 +42,14 @@ class KerMLQualifiedNameConverter implements IQualifiedNameConverter {
4242
4343 Preconditions . checkArgument(! qualifiedNameAsText. empty, " Qualified name cannot be empty" )
4444
45- val segments = newArrayList
46- var i = 0
47- var j = 0 ;
48- var n = qualifiedNameAsText. length()
49- var isDelimitable = true
50-
51- while (j < n) {
52- val c = qualifiedNameAsText. charAt(j)
53- val delim = " \'\\ :" . indexOf(c)
54- if (isDelimitable && delim > 1 ) {
55- if (j + 1 < n && " :" . indexOf(qualifiedNameAsText. charAt(j + 1 )) == 0 ) {
56- segments. add(ElementUtil . unescapeString(qualifiedNameAsText. substring(i, j)));
57- i = j + 2 ;
58- j = i - 1 ;
59- }
60- } else if (delim == 0 ) {
61- isDelimitable = ! isDelimitable
62- } else if (delim == 1 ) {
63- j++
64- }
65- j++
66- }
67- if (i < n && j <= n) {
68- segments. add(ElementUtil . unescapeString(qualifiedNameAsText. substring(i, j)));
69- }
70-
45+ val segments = ElementUtil . parseQualifiedName(qualifiedNameAsText)
7146 QualifiedName . create(segments)
7247 }
7348
7449 override toString (QualifiedName name ) {
75- if (name == = null )
76- throw new IllegalArgumentException (" Qualified name cannot be null" )
77- val segmentCount = name. getSegmentCount
78- switch (segmentCount) {
79- case 0 : return " "
80- case 1 : return ElementUtil . escapeName(name. getFirstSegment)
81- default: {
82- val builder = new StringBuilder ;
83- builder. append(ElementUtil . escapeName(name. getFirstSegment))
84- for (var i = 1 ; i < segmentCount; i++ ) {
85- builder. append(" ::" )
86- builder. append(ElementUtil . escapeName(name. getSegment(i)))
87- }
88- return builder. toString()
89- }
90- }
50+ Preconditions . checkArgument(name !== null , " Qualified name cannot be null" )
51+
52+ ElementUtil . toQualifiedNameString(name. segments)
9153 }
9254
9355}
0 commit comments