Source:
private PDOMBinding addBinding(IBinding inputBinding, IASTName fromName) throws CoreException { if (inputBinding instanceof CompositeIndexBinding) { inputBinding= ((CompositeIndexBinding) inputBinding).getRawBinding(); } if (cannotAdapt(inputBinding)) { return null; } PDOMBinding pdomBinding= attemptFastAdaptBinding(inputBinding); if (pdomBinding == null) { IBinding binding= PDOMASTAdapter.getAdapterForAnonymousASTBinding(inputBinding); if (binding == null) return null; final PDOMNode parent= adaptOrAddParent(true, binding); if (parent == null) return null; long fileLocalRec[]= {0}; pdomBinding = adaptBinding(parent, binding, fileLocalRec); if (pdomBinding != null) { getPDOM().putCachedResult(inputBinding, pdomBinding); } else { try { pdomBinding = createBinding(parent, binding, fileLocalRec[0]); if (pdomBinding != null) { getPDOM().putCachedResult(inputBinding, pdomBinding); if (inputBinding instanceof CPPClosureType) { addImplicitMethods(pdomBinding, (ICPPClassType) binding, fromName); } else if (parent instanceof IPDOMCPPClassType) { IBinding bindingOwner = binding.getOwner(); if(bindingOwner instanceof ICPPClassType){ ((IPDOMCPPClassType) parent).setAccessibility(pdomBinding, ((ICPPClassType) bindingOwner).getAccessibility(binding)); } } TagManager.getInstance().syncTags(pdomBinding, inputBinding); } } catch (DOMException e) { throw new CoreException(Util.createStatus(e)); } return pdomBinding; } } if (shouldUpdate(pdomBinding, fromName)) { IBinding fromBinding = fromName.getBinding(); pdomBinding.update(this, fromBinding); TagManager.getInstance().syncTags(pdomBinding, fromBinding); } return pdomBinding; }

Target:
private PDOMBinding addBinding(IBinding inputBinding, IASTName fromName) throws CoreException { if (inputBinding instanceof CompositeIndexBinding) { inputBinding= ((CompositeIndexBinding) inputBinding).getRawBinding(); } if (cannotAdapt(inputBinding)) { return null; } PDOMBinding pdomBinding= attemptFastAdaptBinding(inputBinding); if (pdomBinding == null) { IBinding binding= PDOMASTAdapter.getAdapterForAnonymousASTBinding(inputBinding); if (binding == null) return null; final PDOMNode parent= adaptOrAddParent(true, binding); if (parent == null) return null; long fileLocalRec[]= {0}; pdomBinding = adaptBinding(parent, binding, fileLocalRec); if (pdomBinding != null) { getPDOM().putCachedResult(inputBinding, pdomBinding); } else { try { pdomBinding = createBinding(parent, binding, fileLocalRec[0]); if (pdomBinding != null) { getPDOM().putCachedResult(inputBinding, pdomBinding); if (inputBinding instanceof CPPClosureType) { addImplicitMethods(pdomBinding, (ICPPClassType) binding, fromName); } else { addMember(pdomBinding, binding, parent); if (parent instanceof ICPPEnumeration) { PDOMNode parent2 = parent.getParentNode(); if (parent2 != null) { IBinding bindingOwner = binding.getOwner(); addMember(pdomBinding, bindingOwner, parent2); } } } TagManager.getInstance().syncTags(pdomBinding, inputBinding); } } catch (DOMException e) { throw new CoreException(Util.createStatus(e)); } return pdomBinding; } } if (shouldUpdate(pdomBinding, fromName)) { IBinding fromBinding = fromName.getBinding(); pdomBinding.update(this, fromBinding); TagManager.getInstance().syncTags(pdomBinding, fromBinding); } return pdomBinding; }