Remove TraversePropertiesDsl from top-level toDataFrame {} operation#2004
Conversation
TraversePropertiesDsl from top-level toDataFrame {} operation|
Seems like a good base, I'll continue from this |
- Remove TraversePropertiesDsl as supertype of CreateDataFrameDsl<T>
- Remove TraversePropertiesDsl delegation from CreateDataFrameDslImpl
- Add deprecated exclude/preserve methods to CreateDataFrameDsl with deprecation warning pointing to properties {} block
- Add deprecated preserve<T>() extension for CreateDataFrameDsl
- Update preserve T test to use properties {} block instead of top-level preserve()
- Update generated sources and binary API file
- Add TRAVERSE_PROPERTIES_DSL deprecation message constant
13f7721 to
72f2d66
Compare
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
72f2d66 to
367226c
Compare
…revent incorrect DSL usage
|
@koperagen I added a DslMarker to prevent functions from |
…taFrame {} directly to ERROR because their behavior is no longer possible
|
@Jolanrensen good idea to add declarations for clear deprecation :)
I don't see valid use cases that this marker could break. |
Haha, props to copilot for that idea ;P |

Top-level
preserve()/exclude()calls insidetoDataFrame {}had broken semantics: they were supposed to apply to allproperties {}blocks but did not work reliably, and calling them without anyproperties {}block produced an empty DataFrame. The compiler plugin also never supported this notation.Changes
CreateDataFrameDsl<T>no longer extendsTraversePropertiesDsl—exclude()andpreserve()are no longer directly available at the top level oftoDataFrame {}CreateDataFrameDslImpl— removedTraversePropertiesDsl by configurationdelegationexclude(),preserve(), andpreserve<T>()are kept onCreateDataFrameDslwithDeprecationLevel.WARNING(→ ERROR in 1.1), forwarding to aproperties {}block to ease migrationERROR, because their behavior is no longer possible, as the supertype of
CreateDataFrameDslwas removed.apiDump; methods remain in bytecode for binary compatibilityMigration
TraversePropertiesDslfrom top-leveltoDataFrame {}operation #1857