public CompTypeName(TParameterDeclaration pdecl) { if (pdecl.hasDeclarator()) { throw new CXInternalError( "requesting safe type name of declarator instead of abstract declarator"); } this.pdecl = pdecl; TreeRoot root = new TreeRoot(pdecl); SafeTypeGenerator stgen = new SafeTypeGenerator(); try { root.accept(stgen); } catch (Throwable e) { throw new CXInternalError("something went wrong in safe type name generation", e); } this.tname = stgen.toString(); }
/** @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) */ public Object[] getChildren(Object parentElement) { if (parentElement instanceof TreeRoot) { TreeRoot dummyRoot = (TreeRoot) parentElement; return new Object[] {dummyRoot.getRoot()}; } else if (parentElement instanceof MethodWrapper) { MethodWrapper methodWrapper = ((MethodWrapper) parentElement); if (shouldStopTraversion(methodWrapper)) { return EMPTY_ARRAY; } else { if (fManager != null) { Object[] children = fManager.getChildren(new DeferredMethodWrapper(this, methodWrapper)); if (children != null) return children; } return fetchChildren(methodWrapper); } } return EMPTY_ARRAY; }