package x10doc.doc; import com.sun.javadoc.ClassDoc; import com.sun.javadoc.MemberDoc; import com.sun.javadoc.PackageDoc; import com.sun.javadoc.ThrowsTag; import com.sun.javadoc.Type; public class X10ThrowsTag extends X10Tag implements ThrowsTag{ String label, itemName; X10RootDoc rootDoc; PackageDoc pkgDoc; X10ClassDoc classDoc; MemberDoc memberDoc; boolean beenCalled; public X10ThrowsTag(String name, String text, X10Doc holder) { super(name, text, holder); rootDoc = X10RootDoc.getRootDoc(); } public ClassDoc exception() { if(classDoc == null) { processText(); } return classDoc; } public String exceptionComment() { return text; } public String exceptionName() { return (classDoc == null) ? null : classDoc.name(); } public Type exceptionType() { return classDoc; } void processText() { String tokens[] = text.split("\\s"); if(tokens.length > 0) { String classname = tokens[0]; classDoc = rootDoc.findClass(holder, classname); text = text.replace(tokens[0], "").trim(); } } }