Lines 551-573
Link Here
|
551 |
if (this.sourceName != null) |
551 |
if (this.sourceName != null) |
552 |
return this.sourceName; |
552 |
return this.sourceName; |
553 |
|
553 |
|
554 |
this.sourceName = getInnerSourceName(); // member or local scenario |
554 |
char[] name = getInnerSourceName(); // member or local scenario |
555 |
if (this.sourceName == null) { |
555 |
if (name == null) { |
556 |
char[] name = getName(); // extract from full name |
556 |
name = getName(); // extract from full name |
557 |
int start; |
557 |
int start; |
558 |
if (isAnonymous()) { |
558 |
if (isAnonymous()) { |
559 |
start = CharOperation.indexOf('$', name, CharOperation.lastIndexOf('/', name) + 1) + 1; |
559 |
start = CharOperation.indexOf('$', name, CharOperation.lastIndexOf('/', name) + 1) + 1; |
560 |
} else { |
560 |
} else { |
561 |
start = CharOperation.lastIndexOf('/', name) + 1; |
561 |
start = CharOperation.lastIndexOf('/', name) + 1; |
|
|
562 |
} |
563 |
if (start > 0) { |
564 |
char[] newName = new char[name.length - start]; |
565 |
System.arraycopy(name, start, newName, 0, newName.length); |
566 |
name = newName; |
562 |
} |
567 |
} |
563 |
if (start == 0) { |
|
|
564 |
this.sourceName = name; |
565 |
} else { |
566 |
this.sourceName = new char[name.length - start]; |
567 |
System.arraycopy(name, start, this.sourceName, 0, this.sourceName.length); |
568 |
} |
569 |
} |
568 |
} |
570 |
return this.sourceName; |
569 |
return this.sourceName = name; |
571 |
} |
570 |
} |
572 |
/** |
571 |
/** |
573 |
* Answer the resolved name of the receiver's superclass in the |
572 |
* Answer the resolved name of the receiver's superclass in the |