private ClsJavaCodeReferenceElementImpl getReferenceElement() { synchronized (lock) { if (myReferenceElement == null) { final PsiAnnotationStub stub = getStub(); final CompositeElement mirror = stub.getTreeElement(); myReferenceElement = new ClsJavaCodeReferenceElementImpl( this, mirror.findChildByRole(ChildRole.CLASS_REFERENCE).getText()); } return myReferenceElement; } }
@Override @NotNull public PsiAnnotationParameterList getParameterList() { synchronized (lock) { if (myParameterList == null) { final PsiAnnotationStub stub = getStub(); final CompositeElement mirror = stub.getTreeElement(); final PsiAnnotationParameterList paramList = (PsiAnnotationParameterList) mirror.findChildByRoleAsPsiElement(ChildRole.PARAMETER_LIST); myParameterList = new ClsAnnotationParameterListImpl(this, paramList.getAttributes()); } return myParameterList; } }