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.
アップデート
kotlin
1.3.70 -> 1.3.71junit jupiter
5.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.
複数プロジェクトとのコード共有のための分割。