org.eclipse.internal.xpand2.debug
Class ForEachSpecial

java.lang.Object
  extended by org.eclipse.internal.xtend.expression.debug.BaseSpecialTreatment
      extended by org.eclipse.internal.xpand2.debug.ForEachSpecial

public class ForEachSpecial
extends BaseSpecialTreatment

Adapter to handle FOREACH statement special stuff.

Author:
Clemens Kadura (zAJKa), Jan Koehnlein

Constructor Summary
ForEachSpecial()
           
 
Method Summary
 void adaptSyntaxElement(org.eclipse.emf.mwe.core.debug.model.SyntaxElement to, java.lang.Object element)
          Don't show frame in Launch view, if the ForEachStatement is the 1st time in the stack.
 boolean shallNotSuspend(java.lang.Object element, int flag, ExecutionContext ctx)
          A ForEachStatement calls monitor.preTask() always twice.
 
Methods inherited from class org.eclipse.internal.xtend.expression.debug.BaseSpecialTreatment
adaptElementName, getElementNameLength, getSpecialEndSyntaxElement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ForEachSpecial

public ForEachSpecial()
Method Detail

shallNotSuspend

public boolean shallNotSuspend(java.lang.Object element,
                               int flag,
                               ExecutionContext ctx)
A ForEachStatement calls monitor.preTask() always twice. First time for the (outer) statement and 2nd time for each loop. We disable suspension the first time.

Overrides:
shallNotSuspend in class BaseSpecialTreatment
See Also:
BaseSpecialTreatment.shallNotSuspend(java.lang.Object, int,ExecutionContext)

adaptSyntaxElement

public void adaptSyntaxElement(org.eclipse.emf.mwe.core.debug.model.SyntaxElement to,
                               java.lang.Object element)
Don't show frame in Launch view, if the ForEachStatement is the 1st time in the stack.

Overrides:
adaptSyntaxElement in class BaseSpecialTreatment
See Also:
BaseSpecialTreatment.adaptSyntaxElement(org.eclipse.emf.mwe.core.debug.model.SyntaxElement, java.lang.Object)