[BTA] Use typed copy in deepCopy() instead of string round-trip#5855
[BTA] Use typed copy in deepCopy() instead of string round-trip#5855KotlinBuild merged 5 commits intomasterfrom
Conversation
|
|
Code Owners
|
|
/dry-run |
|
THIS IS A DRY RUN Quality gate is triggered at https://buildserver.labs.intellij.net/build/924729568 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
|
Triggered a retry attempt №1 out of 1. |
|
/dry-run |
|
Quality gate failed. See https://buildserver.labs.intellij.net/build/924729568 to get full insight. |
|
THIS IS A DRY RUN Quality gate is triggered at https://buildserver.labs.intellij.net/build/924852109 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
|
Quality gate finished successfully. |
0949390 to
2f7689e
Compare
|
/dry-run |
|
THIS IS A DRY RUN Quality gate is triggered at https://buildserver.labs.intellij.net/build/925590812 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
|
Triggered a retry attempt №1 out of 1. |
|
/dry-run |
|
Quality gate failed. See https://buildserver.labs.intellij.net/build/925590812 to get full insight. |
|
THIS IS A DRY RUN Quality gate is triggered at https://buildserver.labs.intellij.net/build/925801681 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
|
Triggered a retry attempt №1 out of 1. |
|
Quality gate failed. See https://buildserver.labs.intellij.net/build/925801681 to get full insight. |
ALikhachev
left a comment
There was a problem hiding this comment.
Other than the minor comment, LGTM
2a8f4e6 to
20a431c
Compare
New changes affect files owned by this reviewer. Re-review required.
|
/dry-run |
|
THIS IS A DRY RUN Quality gate is triggered at https://buildserver.labs.intellij.net/build/927796511 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
12c712e to
f48f7eb
Compare
|
Quality gate finished successfully. |
20a431c to
a15a274
Compare
|
/dry-run |
|
THIS IS A DRY RUN Quality gate is triggered at https://buildserver.labs.intellij.net/build/928672496 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
|
Quality gate finished successfully. |
a15a274 to
6232776
Compare
|
/dry-run |
|
THIS IS A DRY RUN Quality gate is triggered at https://buildserver.labs.intellij.net/build/931568938 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
|
Triggered a retry attempt №1 out of 1. |
| return JvmCompilationOperationWrapper( | ||
| base.build().also { it.compilerArguments.applyCompilerArguments(base.compilerArguments.toCompilerArguments()) }) | ||
| } |
There was a problem hiding this comment.
Could you clarify what this is needed for?
There was a problem hiding this comment.
What wasn't covered by the previous implementation calling deepCopy?
There was a problem hiding this comment.
Also, I see this change for Pre2_3_20 and Pre_2_4_20, but not Pre_2_4_0:
. Is that okay?There was a problem hiding this comment.
Could you clarify what this is needed for? & What wasn't covered by the previous implementation calling deepCopy?
This change is for backward compatibility with the current change.
Let's have -xfriend-paths=home/directory/pathwith,comma as an example.
Without a backward compatibility wrapper, you get different results based on the IMPL version after calling build on the JVM operation:
2.4.20(api)&2.4.20(impl)=>"User/home/directory/pathwith,comma"
2.4.20(api)&<2.4.20(impl)=>""User/home/directory/pathwith", "User/comma""
The implementation in the 2_4_20 wrapper ensures this behavior is correct across versions, as demonstrated by passing tests in: #5879.
In theory, if we are okay with the behavior being different across IMPL versions, it can be removed. However, such implementation would require forking tests since they would start failing.
There was a problem hiding this comment.
Also, I see this change for Pre2_3_20 and Pre_2_4_20, but not Pre_2_4_0. Is that okay?
2_4_20 traverses the tree of wrappers and tries to invoke certain functions at the closest parent. To make it work, it was necessary so that every wrapped object is called base. 2_4_0 already uses base. 2_3_20 was using baseCompilerArguments.
|
Quality gate failed. See https://buildserver.labs.intellij.net/build/931568938 to get full insight. |
6232776 to
694b892
Compare
|
/dry-run |
|
THIS IS A DRY RUN Quality gate is triggered at https://buildserver.labs.intellij.net/build/932117259 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
694b892 to
427c5dd
Compare
|
Triggered a retry attempt №1 out of 1. |
|
Quality gate failed. See https://buildserver.labs.intellij.net/build/932117259 to get full insight. |
|
@ALikhachev, the last two commits are from #5878 (review). |
6e4e6cd to
0f2b4eb
Compare
|
/safe-merge |
|
Quality gate is triggered at https://buildserver.labs.intellij.net/build/932675858 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
|
Quality gate finished successfully. |
Replace
applyArgumentStrings(toArgumentStrings())withapplyCompilerArguments(toCompilerArguments())in JvmCompilerArgumentsImpl.deepCopy().