Example #1
0
/* Print */
void Class::print() {
	printf("magic number: 0x%X\n", magic);
	printf("major ver: 0x%02X (%d)\n", major_version, major_version);
	printf("minor ver: 0x%02X (%d)\n", minor_version, minor_version);
	printf("access flags: 0x%04X (%d)\n", access_flags, access_flags);
	printf("class name: %s\n", get_cp_this_class());
	printf("super name: %s\n", get_cp_super_class());
	printf("\n");
	printf("cp count: %d\n", cp_count);
	print_cp();
	printf("\n");
	printf("fields count: %d\n", fields_count);
	printField();
	printf("\n");
	printf("methods count: %d\n", methods_count);
	printMethod();
}
static void printObject_r(object* obj, int flags, int level) {
	int i;
	for (i = 0; i < level; i++) printf("  ");
	if (obj == 0) printf("(null)\n");
	else {
		printf("%s\n", obj->name);
		if (flags&SCRIPT_PRINT_METHODS) {
			for (i = 0; i < obj->method_count; i++) {
				printMethod(obj, i, level + 1);
			}
		}
		if (flags&SCRIPT_PRINT_CHILDREN) {
			for (i = 0; i < obj->children.used; i++) {
				printObject_r(obj->children.data[i], flags, level + 1);
			}
		}
	}
}
Example #3
0
 void test2() 
 { 
    printMethod(TEST_FUNC);
    TEST_ASSERT(eq(2, 4/2));
 }
Example #4
0
 void test1() 
 { 
    printMethod(TEST_FUNC);
    TEST_ASSERT(eq(2, 9/3));
 }
Example #5
0
 void test2() 
 { 
    printMethod(TEST_FUNC);
    TEST_ASSERT(false);
 }
Example #6
0
 void test1() 
 { 
    printMethod(TEST_FUNC);
    TEST_ASSERT(eq(1, 2));
 }
Example #7
0
void ASTPrint( int lev, ASTNode node )
{
	if (! node)
	{
		indent( lev ); ec_stderr_printf( "NULL" );
		return;
	}

	/* Simplify our lives ... */
	if (currentScope)
	{
		if (currentScope->type == PackageScope)
		{
			currentPackage  = currentScope->target;
			currentBytecode = EC_PACKAGECODE(currentScope->target);
		} else
		{
			currentBytecode = currentScope->target;
		}
		currentLiteral  = EC_COMPILEDLFRAME(currentBytecode);
	}

	switch ( node->type )
	{
	case nullType:
		indent( lev ); ec_stderr_printf( "<nullType>" );
		break;

	case symbolType:
		printSymbol( lev, node );
		break;

	case qualifiedSymbolType:
		printQualifiedSymbol( lev, node );
		break;

	case constExprType:
		printConstant( lev, node );
		break;

	case variableExprType:
		printVariable( lev, node );
		break;

	case arrayConstructionExprType:
		printArrayCons( lev, node );
		break;

	case hashConstructionExprType:
		printHashCons( lev, node );
		break;

	case unaryExprType:
		printUnary( lev, node );
		break;

	case binaryExprType:
		printBinary( lev, node );
		break;

	case conditionalExprType:
		printConditional( lev, node );
		break;

	case orExprType:
		printOr( lev, node );
		break;

	case andExprType:
		printAnd( lev, node );
		break;

	case assignExprType:
		printAssign( lev, node );
		break;

	case simAssignExprType:
		printSimAssign( lev, node );
		break;

	case arrayRefExprType:
		printArrayRef( lev, node );
		break;

	case declNodeType:
		printDecl( lev, node );
		break;

	case declAtomNodeType:
		printDeclAtom( lev, node );
		break;

	case statementType:
		printStatement( lev, node );
		break;

	case labeledStmtType:
		printLabeledStmt( lev, node );
		break;

	case exprStmtType:
		printExprStmt( lev, node );
		break;

	case ifStmtType:
		printIf( lev, node );
		break;

	case whileStmtType:
		printWhile( lev, node );
		break;

	case doStmtType:
		printDo( lev, node );
		break;

	case forStmtType:
		printFor( lev, node );
		break;

	case forInStmtType:
		printForIn( lev, node );
		break;

	case breakStmtType:
		printBreak( lev, node );
		break;

	case continueStmtType:
		printContinue( lev, node );
		break;

	case gotoStmtType:
		printGoto( lev, node );
		break;

	case tryStmtType:
		printTry( lev, node );
		break;

	case catchStmtType:
		printCatch( lev, node );
		break;

	case throwStmtType:
		printThrow( lev, node );
		break;

	case importStmtType:
		printImport( lev, node );
		break;

	case paramNodeType:
		printParam( lev, node );
		break;

	case paramListType:
		printParamList( lev, node );
		break;

	case callNodeType:
		printCall( lev, node );
		break;

	case methodCallNodeType:
		printMethodCall( lev, node );
		break;

	case stmtListType:
		printStmtList( lev, node );
		break;

	case funcNodeType:
		printFunction( lev, node );
		break;

	case returnNodeType:
		printReturn( lev, node );
		break;

	case classNodeType:
		printClass( lev, node );
		break;

	case methodNodeType:
		printMethod( lev, node );
		break;

	case packageNodeType:
		printPackage( lev, node );
		break;
	}
}