-
-
Notifications
You must be signed in to change notification settings - Fork 970
Hibernate 7 Support #15530
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Hibernate 7 Support #15530
Changes from all commits
Commits
Show all changes
1059 commits
Select commit
Hold shift + click to select a range
c227011
dbmigration: added specs for Generators
borinquenkid ab0c61a
dbmigration: added specs for Generators
borinquenkid 0ca04a0
hibernate 7: refactor ClassBinder
borinquenkid d6c3684
hibernate 7: CacheConfig usage and include are now enums
borinquenkid 9984a6b
hibernate 7: GrailsHibernatePersistentEntity.java: Added a default g…
borinquenkid dbe04cb
hibernate 7: Ensuring robust identifier handling through the
borinquenkid 61a4f25
hibernate 7: Consolidated Identity logic
borinquenkid 94dc6e0
hibernate 7: reducing arguments to HibernatePersistentEntity
borinquenkid b55d18f
hibernate 7: reducing arguments to HibernatePersistentEntity
borinquenkid 0cf3281
hibernate 7: refactoring RootBinder
borinquenkid 70775c2
hibernate 7: using more HibernatePersistentEntity
borinquenkid eea8d27
hibernate 7: clean up ClassPropertiesBinder.bindClassProperties
borinquenkid 4db2987
hibernate 7: first step in encapsulating Table inside of HibernatePe…
borinquenkid 1062c8f
hibernate 7: Refactoring signature of GrailsPropertyBinder
borinquenkid 4e20853
hibernate 7: Refactoring signature of OneToOneBinder
borinquenkid 80dc543
hibernate 7: Refactoring signature of EnumTypeBinder
borinquenkid 5e4e1c1
hibernate 7: Refactoring CollectionBinder
borinquenkid 12c237d
hibernate 7: Refactoring ForeignKeyOneToOneBinder
borinquenkid 12bcc66
hibernate 7: remove unnecessary collection arguments
borinquenkid cdf0b68
hibernate 7 refactoring EnumTypeBinder
borinquenkid d412af8
hibernate 7 temp
borinquenkid 5c9ecac
hibernate 7 temp
borinquenkid 6e0abf6
minor fixes
borinquenkid 20ff4c7
PredicateGenerator throws correct exception
borinquenkid 1c7b105
better fixes for PredicateGenerator
borinquenkid 0a9cc2a
hibernate 7: refactor ManyToOneBinder
borinquenkid ae5d320
hibernate 7: refactor ManyToOneBinder
borinquenkid 1318b8d
hibernate 7: refactor ComponentBinder
borinquenkid d1eee79
hibernate 7: refactor EnumTypeBinder
borinquenkid a172b56
hibernate 7: update BindCollectionElementBinderSpec
borinquenkid 64052ca
hibernate 7: refactor BindCollectionElementBinder
borinquenkid 9003465
hibernate 7: refactor BindCollectionElementBinder to EnumTypeBinder
borinquenkid 840fd60
hibernate 7:
borinquenkid bf1d4df
hibernate 7:
borinquenkid 889458c
hibernate 7:
borinquenkid 04a9041
hibernate 7:
borinquenkid 2c5ea3c
hibernate 7:
borinquenkid 2b65553
hibernate 7:
borinquenkid da7b79d
hibernate 7:
borinquenkid 25698ec
hibernate 7:
borinquenkid e1de371
hibernate 7:
borinquenkid 506d69d
hibernate 7:
borinquenkid 921c97c
hibernate 7:
borinquenkid 4a8fdd9
hibernate 7:
borinquenkid 1fb626b
hibernate 7:
borinquenkid 5cd0b68
hibernate 7:
borinquenkid 61db8e6
hibernate 7:
borinquenkid 230bb94
hibernate 7:
borinquenkid 6371219
hibernate 7:
borinquenkid 4fd80ac
hibernate 7: linting
borinquenkid 832ddb8
hibernate 7: linting
borinquenkid 402690e
hibernate 7: linting and EventListenerIntegrator tightening
borinquenkid ad038d9
hibernate 7: Internally DataSource Connection.DEFAULT value was incor…
borinquenkid ec22a38
hibernate 7: added more validations for GrailsHibernateUtil
borinquenkid 2baf5fa
hibernate 7: more linting
borinquenkid fe558c7
hibernate 7:
borinquenkid 4bd0764
hibernate 7:
borinquenkid 515ec3c
hibernate 7:
borinquenkid b760584
hibernate 7:
borinquenkid a0c5838
hibernate 7:
borinquenkid af9c94c
hibernate 7:
borinquenkid 3209616
hibernate 7:
borinquenkid b940162
hibernate 7:
borinquenkid 3d0c862
hibernate 7:
borinquenkid c7ab80c
mongo: split H7 specs from the rest
borinquenkid bacd5fa
mongo: fix MongoContainers for latest version of Docker
borinquenkid 6eef167
mongo: starts MongoDatastoreSpec
borinquenkid d6414a1
mongo: fix tests
borinquenkid 17160e2
hibernate: fix PagedResultList
borinquenkid 8d5789f
hibernate: Pending checks
borinquenkid 2d7682f
hibernate: RAT
borinquenkid 0975eff
hibernate: PMD
borinquenkid 29559c0
hibernate: OptimisticLockingSpec
borinquenkid ae21bb2
hibernate: linting
borinquenkid 1e2e7f7
hibernate: fixed broken tests
borinquenkid c9ae2ec
hibernate: linting
borinquenkid 0609920
hibernate: linting
borinquenkid 948bab9
gorm: separating core GORM tests from implementations. Some tests mar…
borinquenkid 0ef4d19
1) Stabilized Multi-DataSource Support
borinquenkid 2b7199d
spring 4.0 integration hit hibernate 7 branch
borinquenkid 18eaf6b
Finalize Hibernate 7 multi-datasource support and Spring Boot 4 modul…
borinquenkid 63b3e7a
Updated GrailsCodeStylePlugin to aggregate all linting violations int…
borinquenkid 6aa1d89
The GrailsCodeStylePlugin now supports consolidated style violation r…
borinquenkid 216cef3
hibernate 7: linting
borinquenkid cd2c8d1
hibernate 7: linting and expanding tests
borinquenkid 5d11c06
chore: fix CodeNarc violations in grails-datamapping-tck and improve …
borinquenkid 4aea0cb
chore: fix final CodeNarc indentation violation in grails-datamapping…
borinquenkid 980cbe9
chore: fix Apache Rat audit failures
borinquenkid b8b16f8
fix: various build and test failures in Hibernate 7 and GSP modules
borinquenkid 8d9b371
datamapping-core complilation
borinquenkid 240b972
codenarc
borinquenkid f3e0f35
Merge branch '8.0.x' into 8.0.x-hibernate7
jdaugherty ac62344
linting
borinquenkid e36e38a
Merge remote-tracking branch 'jamesfredley/spring-boot-4' into 8.0.x-…
borinquenkid 713487d
testing violations plugins
borinquenkid a004b00
chore: fix grails-data-hibernate7-dbmigration tests and compatibility
borinquenkid 64310a7
chore: fix SpotBugs violations in grails-data-hibernate7-dbmigration
borinquenkid e8ee4ba
hibernate7 codeNarc fixes
borinquenkid e649743
refactor: change SimpleValueBinder constructor visibility to private
borinquenkid 6929305
refactor: BasicValueIdCreator and SimpleValueBinder refactoring
borinquenkid 1a7eb80
refactor: encapsulate identifier resolution in BasicValueIdCreator
borinquenkid e90fb81
Merge branch 'spring-boot-4' into 8.0.x-hibernate7
jamesfredley c6bb085
fix: DynamicFinder boolean+OR query junction logic
jamesfredley 0d8f43d
fix: @DelegateAsync AST transform classloader regression
jamesfredley 20131c0
fix: restore non-hibernate7 test coverage
jamesfredley cb25275
Merge branch 'fix/restore-non-hibernate7-test-coverage' into 8.0.x-hi…
jamesfredley 2cf2ad1
refactor: rename BasicValueIdCreator to BasicValueCreator and consoli…
borinquenkid c8944ed
style: fix CodeNarc violations in TCK specs
jamesfredley ecf8caf
refactor: rename of HibernateProperty hierarchy
borinquenkid 6fd8c13
Merge remote-tracking branch 'origin/8.0.x-hibernate7' into 8.0.x-hib…
borinquenkid 33f1a2f
test: expand HibernateProxyHandler7Spec to match hibernate5 test cove…
jamesfredley e0e272c
fix: add Groovy proxy support to HibernateProxyHandler.isInitialized()
jamesfredley 1a66edc
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid 148d718
refactor: address Copilot review feedback on PR #15548
jamesfredley 8a035be
fix: normalize Groovy GString to String in Hibernate 7 criteria queries
jamesfredley 6641b98
Merge pull request #15549 from apache/fix/h7-multi-datasource-execute…
jamesfredley 2687842
refactor: replace DSL identity config with typed identity properties …
borinquenkid 101d0bc
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid fbced2d
refactor: move generator name resolution into HibernatePersistentProp…
borinquenkid 14dd3f8
test: add getGeneratorName() coverage to HibernatePersistentPropertySpec
borinquenkid 67fb91e
refactor: throw MappingException in getIdentityProperty() instead of …
borinquenkid a7830a6
refactor: simplify binder signatures; fix composite identity parts type
borinquenkid e0b59e1
refactor: remove RootClass param from IdentityBinder.bindIdentity
borinquenkid 8bdc7e3
fix: H7 merge upserts correctly and mutates caller instance
borinquenkid 93c5928
test: DetachedCriteria list returns PagedResultList only when max is set
borinquenkid 6382464
fix: remove double populateArgumentsForCriteria call in DetachedCrite…
borinquenkid 9598b9d
Merge remote-tracking branch 'origin/spring-boot-4' into 8.0.x-hibern…
jamesfredley 945c907
fix: PagedResultList totalCount leaks ORDER BY into COUNT query on H2
borinquenkid 8c2ae2e
test: restore multi-row validation for findAll* boolean property finders
borinquenkid eaacee2
H7: incorrect messages
borinquenkid 78b8b36
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid 1497ea4
H7: fix style violations and update agent guidelines
borinquenkid 9d723a8
H7: update agent guidelines for test aggregation
borinquenkid d52a9e5
H7: make test aggregation more robust by scanning all root directories
borinquenkid 6658a08
fix: DefaultUrlCreator generates correct URL for controller-only links
borinquenkid 9c79935
fix: remove @PendingFeatureIf from many-to-many sorting test in H5
borinquenkid 19f30df
H7: remove unused resolveIdentifierProperty method and update tests
borinquenkid f71182d
H7: finalize agent guidelines and fix style violations
borinquenkid 3975f3a
fix: VersionBinder type default and VersionBinderSpec integration tests
borinquenkid 1acfea2
Add HibernateVersionProperty for version slot in entity model
borinquenkid 23d9233
Fix VersionBinder type regression: let bindSimpleValue resolve type
borinquenkid 06e4d20
groovy linting
borinquenkid 10cdfc2
H7 simplify signature of EnumTypeBinder bindEnumType
borinquenkid 6cc9fda
Merge pull request #15548 from apache/fix/groovy-proxy-isinitialized
jamesfredley d0e34b2
H7 clean up arguments of SimpleValueBinder
borinquenkid a171d14
H7: enforce test coverage and verify collection binding ownership model
borinquenkid f9841b3
H7: refactor collection binding with HibernateCollectionProperty and …
borinquenkid e2d9374
Merge pull request #15550 from apache/8.0.x-hibernate7-dev
jdaugherty df1f06c
H7: fix composite identity and collection binding issues, and update …
borinquenkid be24bd5
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid 956ee4e
H7 added a scenario for CollectionSecondPassBinder
borinquenkid f6e9177
H7 Features & Refactoring
borinquenkid b7f518e
H7: renames and removing unused arguments in collection second pass b…
borinquenkid ad10d58
H7: expand test coverage for ManyToMany properties and List second pa…
borinquenkid a8d5db2
H7: rewrite ListSecondPassBinder using fluent and modular method stru…
borinquenkid 6c7709c
H7: rewrite CollectionBinder using fluent and modular method structure
borinquenkid ed3a305
H7: refactor table resolution logic into TableForManyCalculator
borinquenkid 00e5bb8
H7: encapsulate collection configuration within HibernateToManyProperty
borinquenkid 075b59e
H7: finalize encapsulation fixes and expand property specifications
borinquenkid f8eae48
H7: move validateOwningSide logic to HibernateToManyProperty implemen…
borinquenkid f4ead27
H7: refactor MapSecondPassBinder
borinquenkid eaf4cc1
H7: update HibernateGormAutoConfigurationSpec
borinquenkid dc7237e
Register HibernateGormAutoConfiguration and GormCompilerAutoConfigura…
borinquenkid ec320d6
Update README: clarify JVM integration strategy for GORM Hibernate
borinquenkid 228a834
Increase coverage for low-coverage H7 classes
borinquenkid 5e38fda
Refactor anonymous HibernateGormEnhancer to SchemaTenantGormEnhancer …
borinquenkid 98482ed
Fix unchecked cast warnings in withSession/withNewSession(String, Clo…
borinquenkid d8e01ce
Test and fix unused public methods in HibernateDatastore
borinquenkid 13566eb
H7: aggregate Jacoco Coverage
borinquenkid 0eea605
test(hibernate7): increase HibernateMappingContextConfiguration cover…
borinquenkid 0ee471a
test(hibernate7): increase HibernateSimpleIdentity coverage to 100%
borinquenkid 3f20f01
test(hibernate7): increase MutationQueryDelegate coverage to 90%+
borinquenkid d0190db
test: add specs for HibernateEventListeners and HibernateSimpleIdenti…
borinquenkid 030c74c
test: add specs for HqlQueryDelegate and CacheConfig (cov-07, cov-10)
borinquenkid aecede0
test: add JoinTable/MappingCacheHolder/DiscriminatorConfig/CompositeI…
borinquenkid 3ce6685
test: add SelectQueryDelegate and HibernateEmbeddedPersistentEntity s…
borinquenkid 7a62408
test: add SoftKeySpec and expand GrailsHibernateUtilSpec coverage
borinquenkid ae69bcc
test: expand EventListenerIntegratorSpec and add HibernateConnectionS…
borinquenkid 25395c9
test: expand MappingSpec and add HibernateMappingKeywordSpec for cove…
borinquenkid 9e79cd5
test: extend HibernateBasicProperty, MultiTenantEventListener, and Cl…
borinquenkid 83bf9ed
test: extend IdentityEnumType, CollectionType, and add HibernateIdent…
borinquenkid 538e5ca
feat(h7): embedded collection binding infrastructure + coverage impro…
borinquenkid 99d3ac7
test(h7): expand IncrementGeneratorSpec to cover protected method bra…
borinquenkid 166b54b
test(h7): expand coverage for ClassBinder, SingleTableSubclassBinder,…
borinquenkid cc9a4e2
test(h7): expand PredicateGenerator and GrailsNativeGenerator coverage
borinquenkid ecec29a
test(h7): expand HibernateEventListener coverage with 8 new event typ…
borinquenkid 19afcf4
test(h7): expand coverage for HibernatePersistentProperty and TraitPr…
borinquenkid 24d5e1c
test(h7): add GrailsBytecodeProvider spec and expand proxy factory co…
borinquenkid 0ffa00b
test(h7): expand PropertyDefinitionDelegate and SimpleIdBinder coverage
borinquenkid 561beb9
test(h7): expand HibernateToManyProperty and NamespaceNameExtractor c…
borinquenkid 5e57ce3
chore: mark GrailsTableGenerator, ColumnBinder, ManyToOneBinder, Tabl…
borinquenkid 5e73a97
test(h7): expand ByteBuddyGroovyProxyFactory coverage and mark stale …
borinquenkid 737d308
test(h7): expand DefaultColumnNameFetcher coverage and mark Hibernate…
borinquenkid f3b332f
chore: mark all 90%+ JaCoCo violations as covered (stale reports)
borinquenkid ed8e95a
chore: mark GrailsSessionContext as covered (stale JaCoCo report)
borinquenkid c541328
test(h7): expand GrailsSessionContextSpec coverage
borinquenkid d23f7af
test(h7): extract protected JTA methods in GrailsSessionContext for t…
borinquenkid 24267ca
fix(h7): correct retrieveAll(Iterable) criteria IN predicate and add …
borinquenkid b494c8f
test(h7): extract closeConnectionSources/closeGormEnhancer hooks and …
borinquenkid 473d398
test(h7): expand HibernateConnectionSourceFactory coverage to 18 tests
borinquenkid 3dd58d5
test(h7): expand HibernateCriteriaBuilder coverage across both specs …
borinquenkid b03041e
test(h7): create ByteBuddyGroovyInterceptorSpec for direct proxy inte…
borinquenkid ad4dd39
feat(h7): extract TransactionResources abstraction and expand GrailsH…
borinquenkid e3bb5a4
test(h7): expand HibernateGormInstanceApi coverage to 23 tests
borinquenkid 56b06bf
test(h7): expand ChildHibernateDatastore coverage with missing getDat…
borinquenkid 103c88b
test(h7): expand HibernateGormStaticApi coverage to 61 tests
borinquenkid 7c7ce43
test(h7): expand ClosureEventTriggeringInterceptor coverage to 19 tests
borinquenkid 5a5c252
chore: stop tracking JACOCO_COVERAGE_VIOLATIONS.md
borinquenkid 8ef1c34
test(h7): expand GrailsHibernateUtil, SchemaTenantGormEnhancer and Ma…
borinquenkid a463efa
test(h7): expand HibernateConnectionSourceFactory coverage to 25 tests
borinquenkid 02aeb2d
test(h7): expand HibernateToManyCollectionProperty, SingleTableSubcla…
borinquenkid 217e1e3
test(h7): expand HibernateProxyHandler coverage to 28 tests
borinquenkid 1b8bcad
test(h7): expand HibernateEventListener coverage to 17 tests
borinquenkid 451572f
test(h7): expand PredicateGenerator coverage to 30 tests
borinquenkid ca6cb65
test(h7): expand IndexBinder coverage to 100% (7 tests)
borinquenkid 22fcdcf
test(h7): expand HibernateMappingFactory coverage to 29 tests
borinquenkid 0f9b6a0
test(h7): expand HibernateMappingContext, SortConfig and PersistentEn…
borinquenkid a99b300
test(h7): expand VersionBinder, IdentityBinder, SimpleIdBinder, Prima…
borinquenkid 762f0c5
test(h7): expand ClassPropertiesBinder and DefaultDiscriminatorBinder…
borinquenkid b8da369
test(h7): expand CascadeBehaviorFetcher and GrailsPropertyBinder cove…
borinquenkid 65ba0d2
test(h7): expand ManyToOneBinder coverage to 100%
borinquenkid 353b064
test(h7): expand NamingStrategyProvider and DefaultColumnNameFetcher …
borinquenkid 6864c7d
test(h7): expand TableForManyCalculator coverage to 100%
borinquenkid 6561fc6
test(h7): expand HibernateToManyProperty and HibernatePersistentPrope…
borinquenkid e11ad2d
test(h7): expand MapSecondPassBinder and HibernateHqlQuery coverage
borinquenkid f3a7757
test(h7): expand HibernateOneToOneProperty coverage to cover missing …
borinquenkid ccf8e88
test(h7): expand MutationQueryDelegate and MultiTenantEventListener c…
borinquenkid 0adbba1
test(h7): expand PropertyConfig and HibernateAssociationQuery coverage
borinquenkid 4ceeb1c
test(h7): expand UniqueKeyForColumnsCreator coverage with public cons…
borinquenkid cde1731
test(h7): expand CollectionSecondPassBinder coverage for componentBin…
borinquenkid 29697cd
fix: make gorm and app1 functional tests H7-compatible
borinquenkid 2955206
fix(h7): fix 3 H7 GORM bugs — NonUniqueResultException, aggregate ret…
borinquenkid 1d3e873
fix(h7): prevent 'two representations of same collection' in addTo/sa…
borinquenkid 0aa7872
fix(test): correct GormCriteriaQueriesSpec to use safe HQL overloads …
borinquenkid 3a1cd7a
Merge branch '8.0.x' into 8.0.x-hibernate7
jdaugherty 76eab15
Merge remote-tracking branch 'upstream/8.0.x-hibernate7' into 8.0.x-h…
jdaugherty fc9b9de
Fix bad merge
jdaugherty 0684786
Remove old hibernate6 licenses
jdaugherty e15e02e
Remove old TODO
jdaugherty e78924f
Remove jandex from sbom & adopt newer coordinates
jdaugherty 6fa604f
Remove variances
jdaugherty 78fccb9
Remove LGPL reference
jdaugherty 208a7e5
H7: CodeStyle
borinquenkid 8b99381
Refactored Vendored Spring ORM Code
borinquenkid 276bf44
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid 753607e
chore: fix code style plugin and resolve code quality violations
borinquenkid 34805d2
chore: resolve several spotbugs and pmd violations
borinquenkid 939e5ea
fix: address Copilot PR review comments
borinquenkid c800469
Merge remote-tracking branch 'upstream/8.0.x-hibernate7-dev' into 8.0…
jdaugherty 732d30f
Merge remote-tracking branch 'upstream/8.0.x' into 8.0.x-hibernate7
jdaugherty File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| # .git-blame-ignore-revs | ||
| # Reformat code: https://github.com/apache/grails-core/pull/14925 | ||
| 20c3278683f2993e23c947c409eafa978c0aefb7 | ||
| # Reformat code for hibernate 7 | ||
| 811bacd377678e22bac6308065da28b1caa17700 |
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.