tree 2caa15f1189a0b70d97c48db623286f5977e2398
parent d1f33daba5594db03082f215b43be717cc6bbbde
author Johan Compagner <jcompagner@gmail.com> 1404215517 +0200
committer Johan Compagner <jcompagner@gmail.com> 1404215565 +0200

fix for (very likely code with warnings)

java.lang.StackOverflowError
	at
org.eclipse.dltk.internal.javascript.ti.ElementValue.findMember(ElementValue.java:110)
	at
org.eclipse.dltk.internal.javascript.ti.ElementValue.findMemberA(ElementValue.java:100)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue$GetChildHandler.process(ImmutableValue.java:221)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue$GetChildHandler.process(ImmutableValue.java:1)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue.execute(ImmutableValue.java:89)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue.getChild(ImmutableValue.java:328)
	at
org.eclipse.dltk.internal.javascript.ti.ChildReference.getValue(ChildReference.java:41)
	at
org.eclipse.dltk.internal.javascript.ti.ChildReference.getValue(ChildReference.java:39)
	at
org.eclipse.dltk.internal.javascript.ti.AbstractReference.exists(AbstractReference.java:114)
	at
org.eclipse.dltk.javascript.typeinfo.RLocalType.getChild(RLocalType.java:86)
	at
org.eclipse.dltk.javascript.typeinfo.RLocalType.getDirectChild(RLocalType.java:52)
	at
org.eclipse.dltk.internal.javascript.ti.ElementValue.findMember(ElementValue.java:198)
	at
org.eclipse.dltk.internal.javascript.ti.ElementValue.findMemberA(ElementValue.java:100)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue$GetChildHandler.process(ImmutableValue.java:221)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue$GetChildHandler.process(ImmutableValue.java:1)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue.execute(ImmutableValue.java:89)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue.execute(ImmutableValue.java:92)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue.getChild(ImmutableValue.java:328)
	at
org.eclipse.dltk.internal.javascript.ti.ChildReference.getValue(ChildReference.java:41)
	at
org.eclipse.dltk.internal.javascript.ti.ChildReference.getValue(ChildReference.java:39)
	at
org.eclipse.dltk.internal.javascript.ti.AbstractReference.exists(AbstractReference.java:114)
	at
org.eclipse.dltk.javascript.typeinfo.RLocalType.getChild(RLocalType.java:86)
	at
org.eclipse.dltk.javascript.typeinfo.RLocalType.getDirectChild(RLocalType.java:52)
	at
org.eclipse.dltk.internal.javascript.ti.ElementValue.findMember(ElementValue.java:198)
	at
org.eclipse.dltk.internal.javascript.ti.ElementValue.findMemberA(ElementValue.java:100)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue$GetChildHandler.process(ImmutableValue.java:221)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue$GetChildHandler.process(ImmutableValue.java:1)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue.execute(ImmutableValue.java:89)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue.execute(ImmutableValue.java:92)
	at
org.eclipse.dltk.internal.javascript.ti.ImmutableValue.getChild(ImmutableValue.java:328)
	at
org.eclipse.dltk.internal.javascript.ti.ChildReference.getValue(ChildReference.java:41)
	at
org.eclipse.dltk.internal.javascript.ti.ChildReference.getValue(ChildReference.java:39)
	at
org.eclipse.dltk.internal.javascript.ti.AbstractReference.exists(AbstractReference.java:114)
	at
org.eclipse.dltk.javascript.typeinfo.RLocalType.getChild(RLocalType.java:86)
	at
org.eclipse.dltk.javascript.typeinfo.RLocalType.getDirectChild(RLocalType.java:52)
	at
org.eclipse.dltk.internal.javascript.ti.ElementValue.findMember(ElementValue.java:198)
	at
org.eclipse.dltk.internal.javascript.ti.ElementValue.findMemberA(ElementValue.java:100)