-
Notifications
You must be signed in to change notification settings - Fork 328
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor Builders for the In-Memory Table (#12046)
- Convert `Builder` to be an interface rather than an abstract base class. - Add methods from `TypedBuilder` into the base interface: `accepts`, `canRetypeTo`, `retypeTo`. - Add `BuilderForType` generic interface. - New interfaces for `BuilderForBoolean`, `BuilderForDouble` and `BuilderForLong` avoiding boxing. - `BuilderForDouble` also has `appendLong` which avoids boxing and notes lossy conversion. - `BuilderWithRetyping` - New interface for `InferredBuilder` underlyings. Should be revisited in follow up. - Reduced methods in `java_exports` so generally use the value type based method. - Remove `fillUpToSize` and replace with a method in the Enso code (also throws Enso panic not a Java exception). - Rename `retypeToMixed` to `copyDataTo` allowing copying the data to an Object array. All builders now support. - Rename `TypedBuilderImpl` to `TypedBuilder` (having removed abstract base clase). - `retypeTo` always throws `UnsupportedOperationException` if not supported. - Removed `AnyObjectType` conversion from `BigIntegerBuilder` and `TypedBuilder` as conversion to mixed is done differently. - Removed `appendRawNoGrow` as this was exposing internals. - Removed `appendBigInteger` and `appendBigDecimal` - use `append`. - Adjused `DoubleBuilder` and `DoubleStorage` to be backed by a `double[]`. - Refactored the `cast` operations and based off the `Builder` interfaces. Follow up: - remove `appendNoGrow`. - restructuring the InferredBuilder and associated methods.
- Loading branch information
1 parent
1d4a1a6
commit 7cde786
Showing
89 changed files
with
1,451 additions
and
1,720 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.