commit | d0af66da8fcdf5eabc7e188841452686698b6f32 | [log] [tgz] |
---|---|---|
author | kchong <kchong> | Wed Oct 17 18:05:51 2007 +0000 |
committer | kchong <kchong> | Wed Oct 17 18:05:51 2007 +0000 |
tree | 1fb1347cb0f4a9025e970895f6ff021197a03101 | |
parent | 2d7afd99da70f52c144dfb976539c38dd45479a9 [diff] |
[206138] stack overflow when using autocompletion on VoiceXML XSD
diff --git a/bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/XSDImpl.java b/bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/XSDImpl.java index 6b006c1..afd709d 100644 --- a/bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/XSDImpl.java +++ b/bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/XSDImpl.java
@@ -535,6 +535,14 @@ return true; } XSDTypeDefinition rootType = typedef.getRootType(); + + // Need to check if the base type is redefined/circular + // otherwise this will be an endless recursive call. + if (baseType.isCircular()) + { + return true; + } + if (rootType == baseType) { // If we've hit the root, we aren't derived from it