view ast/Stmt.d @ 202:cba8d8c063f3

Stub Statements.
author dan amlund <danamlund@gmail.com>
date Mon, 11 Aug 2008 19:33:11 +0200
parents
children 28beb8b110ee
line wrap: on
line source

module ast.Stmt;

/**
  The base class for all Statements.
  */
class Stmt
{
    bool isCompoundStmt() { return false; }
    bool isDeclStmt() { return false; }
    bool isExpStmt() { return false; }
    bool isReturnStmt() { return false; }
    bool isIfStmt() { return false; }
    bool isWhileStmt() { return false; }
    bool isForStmt() { return false; }
    bool isSwitchStmt() { return false; }
    bool isForeachStmt() { return false; }
    bool isAssertStmt() { return false; }
}

/**
  CompoundStmt
  */
class CompoundStmt : Stmt
{
    override bool isCompoundStmt() { return true; }
}

/**
  DeclStmt
  */
class DeclStmt : Stmt
{
    override bool isDeclStmt() { return true; }
}

/**
  ExpStmt
  */
class ExpStmt : Stmt
{
    override bool isExpStmt() { return true; }
}

/**
  ReturnStmt
  */
class ReturnStmt : Stmt
{
    override bool isReturnStmt() { return true; }
}

/**
  IfStmt
  */
class IfStmt : Stmt
{
    override bool isIfStmt() { return true; }
}

/**
  WhileStmt
  */
class WhileStmt : Stmt
{
    override bool isWhileStmt() { return true; }
}

/**
  ForStmt
  */
class ForStmt : Stmt
{
    override bool isForStmt() { return true; }
}

/**
  SwitchStmt
  */
class SwitchStmt : Stmt
{
    override bool isSwitchStmt() { return true; }
}

/**
  ForeachStmt
  */
class ForeachStmt : Stmt
{
    override bool isForeachStmt() { return true; }
}

/**
  AssertStmt
  */
class AssertStmt : Stmt
{
    override bool isAssertStmt() { return true; }
}