View | Details | Raw Unified | Return to bug 140191
Collapse All | Expand All

(-)compiler/org/eclipse/jdt/internal/compiler/classfmt/ClassFileReader.java (-12 / +11 lines)
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

Return to bug 140191