langtools/src/share/classes/com/sun/tools/doclint/Checker.java
changeset 15707 7b2411328a5c
parent 15371 8f719dc43e1f
child 16562 9f09744e221a
equal deleted inserted replaced
15706:37a81a6987ac 15707:7b2411328a5c
   243         final Name treeName = tree.getName();
   243         final Name treeName = tree.getName();
   244         final HtmlTag t = HtmlTag.get(treeName);
   244         final HtmlTag t = HtmlTag.get(treeName);
   245         if (t == null) {
   245         if (t == null) {
   246             env.messages.error(HTML, tree, "dc.tag.unknown", treeName);
   246             env.messages.error(HTML, tree, "dc.tag.unknown", treeName);
   247         } else {
   247         } else {
       
   248             boolean done = false;
   248             for (TagStackItem tsi: tagStack) {
   249             for (TagStackItem tsi: tagStack) {
   249                 if (tsi.tag.accepts(t)) {
   250                 if (tsi.tag.accepts(t)) {
   250                     while (tagStack.peek() != tsi) tagStack.pop();
   251                     while (tagStack.peek() != tsi) tagStack.pop();
   251                     break;
   252                     done = true;
   252                 } else if (tsi.tag.endKind != HtmlTag.EndKind.OPTIONAL)
   253                     break;
   253                     break;
   254                 } else if (tsi.tag.endKind != HtmlTag.EndKind.OPTIONAL) {
       
   255                     done = true;
       
   256                     break;
       
   257                 }
       
   258             }
       
   259             if (!done && HtmlTag.BODY.accepts(t)) {
       
   260                 tagStack.clear();
   254             }
   261             }
   255 
   262 
   256             checkStructure(tree, t);
   263             checkStructure(tree, t);
   257 
   264 
   258             // tag specific checks
   265             // tag specific checks