void UnaryOpExpression::outputPHP(CodeGenerator &cg, AnalysisResultPtr ar) { if (m_front) { switch (m_op) { case T_CLONE: cg_printf("clone "); break; case T_INC: cg_printf("++"); break; case T_DEC: cg_printf("--"); break; case '+': cg_printf("+"); break; case '-': cg_printf("-"); break; case '!': cg_printf("!"); break; case '~': cg_printf("~"); break; case T_INT_CAST: cg_printf("(int)"); break; case T_DOUBLE_CAST: cg_printf("(double)"); break; case T_STRING_CAST: cg_printf("(string)"); break; case T_ARRAY_CAST: cg_printf("(array)"); break; case T_OBJECT_CAST: cg_printf("(object)"); break; case T_BOOL_CAST: cg_printf("(bool)"); break; case T_UNSET: cg_printf("unset("); break; case T_UNSET_CAST: cg_printf("(unset)"); break; case T_EXIT: cg_printf("exit("); break; case '@': cg_printf("@"); break; case T_ARRAY: cg_printf("array("); break; case T_DICT: cg_printf("dict["); break; case T_VEC: cg_printf("vec["); break; case T_KEYSET: cg_printf("keyset["); break; case T_PRINT: cg_printf("print "); break; case T_ISSET: cg_printf("isset("); break; case T_EMPTY: cg_printf("empty("); break; case T_INCLUDE: cg_printf("include "); break; case T_INCLUDE_ONCE: cg_printf("include_once "); break; case T_EVAL: cg_printf("eval("); break; case T_REQUIRE: cg_printf("require "); break; case T_REQUIRE_ONCE: cg_printf("require_once "); break; case T_FILE: cg_printf("__FILE__"); break; case T_DIR: cg_printf("__DIR__"); break; case T_CLASS: cg_printf("class "); break; case T_FUNCTION: cg_printf("function "); break; default: assert(false); } } if (m_exp) m_exp->outputPHP(cg, ar); if (m_front) { switch (m_op) { case T_UNSET: case T_EXIT: case T_ARRAY: case T_ISSET: case T_EMPTY: case T_EVAL: cg_printf(")"); break; case T_DICT: cg_printf("]"); break; case T_VEC: cg_printf("]"); break; case T_KEYSET: cg_printf("]"); break; default: break; } } else { switch (m_op) { case T_INC: cg_printf("++"); break; case T_DEC: cg_printf("--"); break; default: assert(false); } } }
void ClassRequireStatement::outputPHP(CodeGenerator &cg, AnalysisResultPtr ar) { cg_printf("require %s %s;\n", m_extends ? "extends " : "implements ", m_required.c_str()); }