Lines 362-390
Link Here
|
362 |
* LY<TT;>; |
362 |
* LY<TT;>; |
363 |
*/ |
363 |
*/ |
364 |
public char[] genericTypeSignature() { |
364 |
public char[] genericTypeSignature() { |
365 |
if (this.genericTypeSignature == null) { |
365 |
if (this.genericTypeSignature == null) { |
366 |
StringBuffer sig = new StringBuffer(10); |
366 |
StringBuffer sig = new StringBuffer(10); |
367 |
if (this.isMemberType() && this.enclosingType().isParameterizedType()) { |
367 |
if (this.isMemberType() && this.enclosingType().isParameterizedType()) { |
368 |
char[] typeSig = this.enclosingType().genericTypeSignature(); |
368 |
char[] typeSig = this.enclosingType().genericTypeSignature(); |
369 |
for (int i = 0; i < typeSig.length-1; i++) sig.append(typeSig[i]); // copy all but trailing semicolon |
369 |
sig.append(typeSig, 0, typeSig.length-1); |
370 |
sig.append('.').append(this.sourceName()); |
370 |
if (CharOperation.lastIndexOf('>', typeSig) != -1) { |
|
|
371 |
sig.append('.'); |
372 |
} else { |
373 |
sig.append('$'); |
374 |
} |
375 |
sig.append(this.sourceName()); |
371 |
} else { |
376 |
} else { |
372 |
char[] typeSig = this.type.signature(); |
377 |
char[] typeSig = this.type.signature(); |
373 |
for (int i = 0; i < typeSig.length-1; i++) sig.append(typeSig[i]); // copy all but trailing semicolon |
378 |
sig.append(typeSig, 0, typeSig.length-1); |
374 |
} |
379 |
} |
375 |
if (this.arguments != null) { |
380 |
if (this.arguments != null) { |
376 |
sig.append('<'); |
381 |
sig.append('<'); |
377 |
for (int i = 0, length = this.arguments.length; i < length; i++) { |
382 |
for (int i = 0, length = this.arguments.length; i < length; i++) { |
378 |
sig.append(this.arguments[i].genericTypeSignature()); |
383 |
sig.append(this.arguments[i].genericTypeSignature()); |
379 |
} |
384 |
} |
380 |
sig.append('>'); |
385 |
sig.append('>'); |
381 |
} |
386 |
} |
382 |
sig.append(';'); |
387 |
sig.append(';'); |
383 |
int sigLength = sig.length(); |
388 |
int sigLength = sig.length(); |
384 |
this.genericTypeSignature = new char[sigLength]; |
389 |
this.genericTypeSignature = new char[sigLength]; |
385 |
sig.getChars(0, sigLength, this.genericTypeSignature, 0); |
390 |
sig.getChars(0, sigLength, this.genericTypeSignature, 0); |
386 |
} |
391 |
} |
387 |
return this.genericTypeSignature; |
392 |
return this.genericTypeSignature; |
388 |
} |
393 |
} |
389 |
|
394 |
|
390 |
/** |
395 |
/** |