package net.sf.eclipsefp.haskell.debug.core.internal.debug; import net.sf.eclipsefp.haskell.core.util.GHCiSyntax; import org.eclipse.debug.core.model.IValue; import org.eclipse.debug.core.model.IVariable; /** * value of an haskell binding * @author JP Moresmau * */ public class HaskellValue extends HaskellDebugElement implements IValue { private final String val; private final String type; public HaskellValue(final HaskellVariable var,final String val){ super( var.getDebugTarget() ); this.type=var.getReferenceTypeName(); this.val=val; } public HaskellValue(final HaskellDebugTarget target,final String type,final String val){ super( target ); this.type=type; this.val=val; } @Override public String getReferenceTypeName() { return type; } @Override public String getValueString() { return val; } @Override public IVariable[] getVariables() { return new IVariable[0]; } @Override public boolean hasVariables() { return false; } @Override public boolean isAllocated() { return !GHCiSyntax.UNRESOLVED.equals(val); } }