Comments (3)
- Should it be implemented only for new Klib format?
- It will be a breaking change so should it be done before Klib finaly released?
In fact, Klib format already tracks parameters with default arguments, so it should be added only for JVM dumps. It indeed will be a breaking change, but the severity of the problem it solves justifies such a change.
Anyway, we can make a new behavior optional and, a few releases later, make it default.
- Do you have an idea on how it could be done? Will it be some mark on each parameter having default value, or only the bitmask parameter will have some additional info?
I was thinking about printing all extra metadata near an affected declaration, but there is no particular proposal so far.
- Do you think this change could be contributed by someone who is not familiar with the codebase? If so, I want to try to do it.
Sure! Feel free to implement and contribute it; let us just finalize how all the extra info should be presented in the dump first (I hope it'll happen within a few weeks).
from binary-compatibility-validator.
Sorry for the late reply. Indeed, it does make sense to capture information about parameters with default arguments in a generated dump.
from binary-compatibility-validator.
Great! I have the following questions:
- Should it be implemented only for new Klib format?
- It will be a breaking change so should it be done before Klib finaly released?
- Do you have an idea on how it could be done? Will it be some mark on each parameter having default value, or only the bitmask parameter will have some additional info?
- Do you think this change could be contributed by someone who is not familiar with the codebase? If so, I want to try to do it.
from binary-compatibility-validator.
Related Issues (20)
- BCV Gradle Plugin should not depend on kotlin-compiler-embeddable HOT 1
- BCV tasks do not work for a project with generated sources when configuration cache is enabled
- org.gradle.api.InvalidUserDataException? HOT 2
- @JvmOverloads doesn't generate different methods for compose functions HOT 2
- Klib validation DSL for Groovy is different HOT 1
- `public` members of non-API supertype should be visible in the inheritor
- Unknown native target errors with Kotlin 2.0.0-RC1 HOT 4
- `KlibSignatureVersion.LATEST.toString()` is rendered as `KlibSignatureVersion(-2147483648)`
- Add Gradle version compatibility tests HOT 2
- Consider moving BCV to Kotlin repo HOT 3
- Description of a Syncs API task is uninformative HOT 1
- Add brief description to the top of .api dumps, to help explain the file and BCV
- Remove case-insensitive dump file names handling logic HOT 16
- Merge JVM and KLib ABI dumps into a single file
- Use a project/module-agnostic name for dump files
- Removing native targets did not cause API check to fail HOT 4
- Support Multi-Release JAR Files HOT 9
- allow apiDumpDirectory outside projectDir if inside rootProjectDi
- Allow `apiCheck` to run on all subprojects before failing HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from binary-compatibility-validator.