I20241007-1800
During compile parsing happens in two stages: 1. diet parse (any blocks like method bodies are skipped) 2. parse bodies Both phases did read the source .java file from file system. With this change the file contents is kept in CompilationResult.contentRef until no longer needed. It is cached in a SoftReference to avoid OutOfMemoryError. https://github.com/eclipse-jdt/eclipse.jdt.core/issues/2691