This repository was archived by the owner on Jan 20, 2023. It is now read-only.
Releases: ProjectMapK/Shared
Releases · ProjectMapK/Shared
Update and fix ArgumentBucket.
アップデート
kotlin1.3.70 -> 1.3.71junit jupiter5.6.0 -> 5.6.1
修正
keyArrayとしてKParameterを取っていたが、これは初期化時点で決まる値だったため、keyListとしてimmutableに扱うように修正keyArrayを用いて行っていたcontains判定を修正keyArrayのnullabilityを用いて行っていた初期化判定を修正
keys/valuesがそれぞれMutableなCollectionを返していた問題を修正- カウント処理が
InitializationStatusManagerとの間で2重に管理されていたため修正
Fixed a bug when calling with a large number of arguments.
修正
- 33以上の引数で呼び出した場合に正常に呼び出しが行えない不具合の修正
- JVMの上限まで引数を積んでも動くようになった
変更
- 分かりやすさのため、初期化状態の管理をクラスに切り出し
- 大量に引数が有った場合に対応するため、ビットフラグによる管理から初期化フラグでの管理へ変更
- 初期化状態管理の変更に伴い
BucketGeneratorをJavaで書く必要性が薄れたためKotlin化
Add annotation that means "Use Non Null argument".
機能追加
- 引数が
nullの場合無視することを示すアノテーションを追加 - 一部記法の省力化
- クラス名の修正漏れへの対応
その他
gradle wrapperの再生成を行った。
Add annotation that means "Use default argument".
内容
- デフォルト引数を用いることを示すアノテーションを追加
Functionsのテストを追加
Modifies.
改善
Javaコードにnullabilityチェックを追加
Javaコード向けにorg.jetbrains.annotationsのNotNullとNullableアノテーションを付与した。
変更
プロパティ名の取得関数を変更
エイリアス or nameで取れるように共通関数を追加した。
KConverterアノテーションの削除
ライブラリ間の共通利用の予定が無くなったため削除を行った。
KConstructorアノテーションを追加/KClass -> KFunctionForCallへの変換関数を追加
KConstructorを用いてKFunctionForCallを生成する処理を共通化した。
また、合わせてテストの追加を行った。
Improve Bucket.
改善
- バケツをそのまま
Map<KParameter, Any?>として扱えるように構造を修正- マップへの登録周りがシンプル化したことで高速化
- バケツ生成処理は
Javaで書くことで若干高速化
その他
- テストを追加
Added support for mapping with default arguments.
内容
- 引数が足りなかった場合はデフォルト引数を用いた呼び出しを行うように修正
Add test and modify.
修正
ArgumentBucketの修正- 変数名の修正
- フラグ計算を若干高速化
KPropertyAlias->KParameterAliasに名前変更
テスト追加
ArgumentBucketのテスト追加
Update Kotlin
内容
Kotlinを1.3.70にアップデート- 外から使われると困る内容のスコープを修正
Initial release.
複数プロジェクトとのコード共有のための分割。