diff options
Diffstat (limited to 'bundles')
2 files changed, 4 insertions, 2 deletions
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java index 1e9dc89762..ca663e2b75 100644 --- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java +++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/parser/internal/JSPTokenizer.java @@ -1142,6 +1142,7 @@ public class JSPTokenizer implements BlockTokenizer, DOMJSPRegionContexts { // TODO: parent region needs to be set .... but not sure where to get it from // fEmbeddedContainer.setParent(parentRegion); } + int initialLength = fEmbeddedContainer.getRegions().size(); containerStart = fEmbeddedContainer.getStart(); while (notFinished) { // add the region to the container @@ -1223,7 +1224,7 @@ public class JSPTokenizer implements BlockTokenizer, DOMJSPRegionContexts { // check for ending context if (endTagName == null) { for (int i = 0; i < endTypes.length; i++) { - isEndingType = isEndingType || (internalContext == endTypes[i]) || (embeddedList.size() >=2 && (embeddedList.get(embeddedList.size()-1)).getType() == endTypes[i]); + isEndingType = isEndingType || (internalContext == endTypes[i]) || (embeddedList.size() - initialLength) >= 2 && (embeddedList.get(embeddedList.size()-1)).getType() == endTypes[i]; } } else { diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex index 21782c63b4..5ca0c2ced5 100644 --- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex +++ b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex @@ -201,6 +201,7 @@ import org.eclipse.wst.xml.core.internal.parser.IntStack; // TODO: parent region needs to be set .... but not sure where to get it from
// fEmbeddedContainer.setParent(parentRegion);
}
+ int initialLength = fEmbeddedContainer.getRegions().size();
containerStart = fEmbeddedContainer.getStart();
while (notFinished) {
// add the region to the container
@@ -282,7 +283,7 @@ import org.eclipse.wst.xml.core.internal.parser.IntStack; // check for ending context
if (endTagName == null) {
for (int i = 0; i < endTypes.length; i++) {
- isEndingType = isEndingType || (internalContext == endTypes[i]) || (embeddedList.size() >=2 && (embeddedList.get(embeddedList.size()-1)).getType() == endTypes[i]);
+ isEndingType = isEndingType || (internalContext == endTypes[i]) || (embeddedList.size() - initialLength) >= 2 && (embeddedList.get(embeddedList.size()-1)).getType() == endTypes[i];
}
}
else {
|