if (expr != null) { print(" = "); expr.accept(this);
if (expr instanceof JNewArrayExpression) { print (" "); printLocalArrayDecl((JNewArrayExpression)expr); } else { if (expr != null) { print(" = "); expr.accept(this); }
    public void visitVariableDefinition(JVariableDefinition self,                                        int modifiers,                                        CType type,                                        String ident,                                        JExpression expr) {	if (type.isArrayType() && expr instanceof JArrayInitializer) {	    print(((CArrayType)type).getBaseType() + " " + ident);	    JArrayInitializer init = (JArrayInitializer)expr;	    while (true) {		int length = init.getElems().length;		print("[" + length + "]");		if (length==0) { 		    // hope that we have a 1-dimensional array in		    // this case.  Otherwise we won't currently		    // get the type declarations right for the		    // lower pieces.		    break;		}		// assume rectangular arrays		JExpression next = (JExpression)init.getElems()[0];		if (next instanceof JArrayInitializer) {		    init = (JArrayInitializer)next;		} else {		    break;		}	    }	    print(" = ");	    expr.accept(this);	    print(";");	    return;	}        // print(CModifier.toString(modifiers));	if (expr!=null) {	    printLocalType(type);	} else {	    print(type);	}	            print(" ");        print(ident);        if (expr != null) {	    print(" = ");	    expr.accept(this);	}        print(";");    }