? ((Annotation)lastMemberValuePair.value).declarationSourceEnd
: lastMemberValuePair.value.sourceEnd
: lastMemberValuePair.sourceEnd;
}
NormalAnnotation normalAnnotation = new NormalAnnotation(typeReference, this.sourceStart);
normalAnnotation.memberValuePairs = memberValuePairs;
normalAnnotation.declarationSourceEnd = annotationEnd;
normalAnnotation.bits |= ASTNode.IsRecovered;
annot = normalAnnotation;
needUpdateRParenPos = true;
}
}
break;
case SINGLE_MEMBER:
if (parser.expressionPtr > -1) {
Expression memberValue = parser.expressionStack[parser.expressionPtr--];
SingleMemberAnnotation singleMemberAnnotation = new SingleMemberAnnotation(typeReference, this.sourceStart);
singleMemberAnnotation.memberValue = memberValue;
singleMemberAnnotation.declarationSourceEnd = memberValue.sourceEnd;
singleMemberAnnotation.bits |= ASTNode.IsRecovered;
annot = singleMemberAnnotation;
needUpdateRParenPos = true;
}
break;
}
if (!needUpdateRParenPos) {
if (pendingMemberValueName != null) {
NormalAnnotation normalAnnotation = new NormalAnnotation(typeReference, this.sourceStart);
normalAnnotation.memberValuePairs = new MemberValuePair[]{pendingMemberValueName};
normalAnnotation.declarationSourceEnd = pendingMemberValueName.value.sourceEnd;
normalAnnotation.bits |= ASTNode.IsRecovered;
annot = normalAnnotation;