Skip to content

Support for type annotations - #50

Merged
lehvolk merged 19 commits into
developfrom
volivan239/jvm_type_annotations
Jun 2, 2023
Merged

lehvolk merged 19 commits into
developfrom
volivan239/jvm_type_annotations

Conversation

@volivan239

Copy link
Copy Markdown
Collaborator

No description provided.

@volivan239
volivan239 force-pushed the volivan239/jvm_type_annotations branch from 294eb49 to bbedf7c Compare January 26, 2023 18:05
@github-actions

github-actions Bot commented Jan 26, 2023 •

Copy link
Copy Markdown
Contributor

jdk 11 test results

605 tests  +3   602 ✔️ +11   6m 28s ⏱️ + 2m 8s
  38 suites ±0       3 💤  -   8 
  38 files   ±0       0 ❌ ±  0 

Results for commit 2a12b32. ± Comparison against base commit e7a7abe.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Jan 26, 2023 •

Copy link
Copy Markdown
Contributor

jdk 8 test results

605 tests  +3   599 ✔️ +11   4m 0s ⏱️ +14s
  38 suites ±0       6 💤  -   8 
  38 files   ±0       0 ❌ ±  0 

Results for commit 2a12b32. ± Comparison against base commit e7a7abe.

♻️ This comment has been updated with latest results.

@volivan239
volivan239 force-pushed the volivan239/jvm_type_annotations branch from bbedf7c to cdda45b Compare January 26, 2023 18:34
@volivan239
volivan239 marked this pull request as draft January 26, 2023 20:40
@volivan239
volivan239 force-pushed the volivan239/jvm_type_annotations branch from 264a853 to 5f804e8 Compare January 27, 2023 22:13
@volivan239
volivan239 marked this pull request as ready for review January 29, 2023 17:27
@volivan239 volivan239 changed the title Support for type annotations (draft) Support for type annotations Jan 29, 2023
# Conflicts:
#	jacodb-api/src/main/kotlin/org/jacodb/api/JcClasspath.kt
#	jacodb-api/src/main/kotlin/org/jacodb/api/Types.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/DefaultCatalog.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/DefaultSchema.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/indexes/Indexes.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Annotations.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Annotationvalues.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Builders.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Bytecodelocations.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Calls.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Classes.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Classhierarchies.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Classinnerclasses.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Fields.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Methodparameters.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Methods.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Outerclasses.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/Symbols.kt
#	jacodb-core/src/main/jooq/org/jacodb/impl/storage/jooq/tables/records/AnnotationsRecord.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/JcClasspathImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/bytecode/JcFieldImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/bytecode/JcMethodImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/fs/ByteCodeConverter.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/JcArrayTypeImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/JcClassTypeImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/JcGenericTypes.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/JcTypedFieldImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/JcTypedMethodImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/JcTypedMethodParameterImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/NullabilityAnnotations.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/signature/FieldSignature.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/signature/JvmTypes.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/signature/MethodSignature.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/signature/TypeAnnotationMaintianer.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/signature/TypeNullabilityMaintainer.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/substition/JcSubstitutorImpl.kt
#	jacodb-core/src/test/kotlin/org/jacodb/testing/AnnotationsTest.kt
#	jacodb-core/src/test/kotlin/org/jacodb/testing/types/TypeAnnotationsTest.kt
#	jacodb-core/src/test/kotlin/org/jacodb/testing/types/nullability/JavaNullabilityTest.kt
#	jacodb-core/src/test/kotlin/org/jacodb/testing/types/nullability/KotlinJavaInteropNullabilityTest.kt
#	jacodb-core/src/test/kotlin/org/jacodb/testing/types/nullability/NullabilityByAnnotationsTest.kt
@lehvolk

lehvolk commented Feb 13, 2023 •

Copy link
Copy Markdown
Collaborator

@volivan239 IRTest has a serious performance degradation ~30/50% in time. Let's investigate it before merge.

@volivan239

Copy link
Copy Markdown
Collaborator Author

@volivan239 IRTest has a serious performance degradation ~30/50% in time. Let's investigate it before merge.

I couldn't reproduce this locally. I launched IRTest 5 times both on current branch and on main, and what I got was [48, 33, 39, 44, 47] (~42 average) seconds for main and [43, 37, 47, 48, 52] (~45 average) seconds for current branch

lehvolk added a commit that referenced this pull request Feb 28, 2023
… inside JcClassOrInterface

[fix] fixed performance degradation in processing kotlin classes

also relates to PR: Support for type annotations #50
@lehvolk

lehvolk commented Feb 28, 2023

Copy link
Copy Markdown
Collaborator

There is specific test related to Kotlin code IRTest#get ir of self. It has degradation but in terms of processing whole test not so much (degradation from 3 sec to 7 sec). I fixed a bit this problem in main branch

# Conflicts:
#	jacodb-core/build.gradle.kts
#	jacodb-core/src/main/kotlin/org/jacodb/impl/JcClasspathImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/bytecode/JcFieldImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/bytecode/JcMethodImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/fs/ByteCodeConverter.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/JcClassTypeImpl.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/JcTypeBindings.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/signature/JvmTypes.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/signature/MethodSignature.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/signature/TypeNullabilityMaintainer.kt
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/substition/JcSubstitutorImpl.kt
#	jacodb-core/src/testFixtures/kotlin/org/jacodb/testing/tests/DatabaseEnvTest.kt
# Conflicts:
#	jacodb-core/src/main/kotlin/org/jacodb/impl/types/substition/JcSubstitutorImpl.kt
@volivan239
volivan239 changed the base branch from main to develop May 26, 2023 17:18
@lehvolk lehvolk added this to the 1.1.0 release milestone Jun 2, 2023
@lehvolk
lehvolk merged commit e7f2130 into develop Jun 2, 2023
@lehvolk
lehvolk deleted the volivan239/jvm_type_annotations branch June 2, 2023 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants