Страты на самом деле не подходят для Scala или JRuby, так как они компилируются непосредственно в байт-коды, поэтому атрибутов SourceFile и LineNumberTable достаточно. Страты предназначены для таких вещей, как JSP, которые переводятся в исходный файл Java и компилируются. Страты определяются исходной картой (SMAP), хранящейся в атрибуте SourceDebugExtension. Детали того, как все это работает, являются частью JSR-45 . Другим примером может служить State Machine Compiler , хотя я не верю, что он генерирует SMAP. Я также не уверен, есть ли у javac опция для встраивания SMAP в файл класса. Тогда вам понадобится отдельный инструмент для этого.