/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.internal.gosu.parser.statements;
import gw.internal.gosu.parser.Statement;
import gw.lang.parser.IExpression;
import gw.lang.parser.Keyword;
import gw.lang.parser.statements.IAssertStatement;
import gw.lang.parser.statements.ITerminalStatement;
import gw.lang.parser.statements.TerminalType;
public final class AssertStatement extends Statement implements IAssertStatement
{
private IExpression _condition;
private IExpression _detail;
@Override
public IExpression getCondition()
{
return _condition;
}
public void setCondition( IExpression condition )
{
_condition = condition;
}
@Override
public IExpression getDetail()
{
return _detail;
}
public void setDetail( IExpression detail )
{
_detail = detail;
}
@Override
public String toString()
{
return Keyword.KW_assert + " " + getCondition() + (getDetail() == null ? "" : (" : " + getDetail()));
}
@Override
public TerminalType getTerminalType() {
return TerminalType.ReturnOrThrow;
}
@Override
protected ITerminalStatement getLeastSignificantTerminalStatement_internal( boolean[] bAbsolute )
{
bAbsolute[0] = false;
return this;
}
}