Skip to content

Constants should have real values since the compiler inlines them #9

@thefire

Description

@thefire

I recently switched to using OrangeExtensions rather than the old Apple Java Extensions stub jar but quickly ran into an issue with my fully compiled jar that I didn't notice in my IDE. The OrangeExtensions jar is on the classpath during my ant compile to make sure all operating systems are happy but after a couple hours building in debug statements I realized that the compiler was finding the OrangeExtensions even on OS X and inlining the constant values for some references in my code to FileManager constants.

I checked the Apple Java Extensions stub and it looks like they have real values for their constants probably because of this issue. Also since it appears the the com.apple packages are not in the javac "symbols" file it seems it might be quite common that the compiler finds the OrangeExtensions during a compile on OS X rather than the right package in Oracle's rt.jar...

My only decent workaround to keep using the OrangeExtensions was to use reflection to access the FileManager constants...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions