the compilers were built using a lazy compiler construction algorithm in which operators were added as required by the system, and they don't currently provide full support for all 64 bit (vlong) operations. since Dir.length and a few other system values are now 64 bit, i can see it being changed eventually. meanwhile, you need to rewrite the ?: using an if statement.