/** * WORKAROUND UNTIL CODEELEMENT IS REMOVED required from ISourceUnit FIXME only sample * implementation for getTypes()! */ public IType[] getTypes() { // FIXME // missing (IType[])getInterfaceList().toArray() // mising (IType[])getEnumList().toArray() // missing (IType[])getStructList().toArray List classElem = this.getClassList(); Iterator iter = classElem.iterator(); ArrayList ret = new ArrayList(); while (iter.hasNext()) { CodeElement elem = (CodeElement) iter.next(); SourceType type = new SourceType( elem.parent, elem.calcTypeFlags(), null /*no IDoc*/, elem.calcEvents(), elem.calcFields(), elem.calcMethods(), elem.calcProperties(), new IType[0] /*elem.getTypes()*/, elem.codeType, elem.elementName, elem.elementName /*fullname*/, elem.getSuperClass(), elem.getSuperInterfaces(), elem.getSourceRange(), elem.source); ret.add(type); } return (IType[]) ret.toArray(new IType[ret.size()]); }