//onType
if (!hasTargetTypeParameters) {
consumeClassOrInterfaceName();
}
TypeReference onType = getTypeReference(0);
declarationFactory.setOnType(md,onType);
println("got onType: " + onType);
this.display();
intPtr--; // pop new info
//type
md.returnType = TypeReference.baseTypeReference(T_void, 0); //getTypeReference(intStack[intPtr--]);
if (hasConstructorTypeParameters) {
// consume type parameters
int tp_length = this.genericsLengthStack[this.genericsLengthPtr--];
this.genericsPtr -= tp_length;
System.arraycopy(this.genericsStack, this.genericsPtr + 1, md.typeParameters = new TypeParameter[tp_length], 0, tp_length);
}
//modifiers
md.declarationSourceStart = intStack[intPtr--];
declarationFactory.setDeclaredModifiers(md,intStack[intPtr--]);
//md.modifiers = intStack[intPtr--];
// consume annotations
int length;
if ((length = this.expressionLengthStack[this.expressionLengthPtr--]) != 0) {
System.arraycopy(
this.expressionStack,
(this.expressionPtr -= length) + 1,
md.annotations = new Annotation[length],
0,
length);
}
//highlight starts at selector start
//md.sourceStart = (int) (selectorSource >>> 32);
md.sourceStart = onType.sourceStart;
pushOnAstStack(md);
md.sourceEnd = lParenPos;
md.bodyStart = lParenPos + 1;
listLength = 0;
// initialize listLength before reading parameters/throws
declarationFactory.setSelector(md,
(new String(CharOperation.concatWith(onType.getTypeName(), '_')) + "_new").toCharArray());
// recovery
if (currentElement != null) {
if (currentElement instanceof RecoveredType