Igor Yakovlev
34c6abe0bd
[WASM] Add Long.toString(radix) implementation
2021-12-07 21:33:14 +03:00
Igor Yakovlev
73ca478fbd
[WASM] Add string to double conversion to Stdlib
...
This version is not completely correct - there is some IEEE rouding issue that, apparently, require to implement different algorithm with BigIntegers implementation.
2021-12-07 21:33:07 +03:00
Igor Yakovlev
9408499da9
[WASM] Add std text implementations
2021-12-07 21:32:59 +03:00
sebastian.sellmair
1b4f519701
[Gradle][KPM] Add missing OptIn(InternalIdeApi::class)
2021-12-07 17:53:23 +00:00
sebastian.sellmair
493824aee7
Minor: kotlin-gradle-plugin/build.gradle.kts: Optimise imports
2021-12-07 17:53:23 +00:00
sebastian.sellmair
5b6180ba58
[Gradle][KPM] Implement AbstractIdeFragmentDependenciesTest
...
- Split IdeFragmentDependencyResolverTest into
- KpmProjectToKpmProjectIdeFragmentDependenciesTest
- KpmProjectToMppProjectIdeFragmentDependenciesTest
- Implement secondary constructor for SourceLocalIdeFragmentDependency
2021-12-07 17:53:22 +00:00
sebastian.sellmair
6129d920c7
[Gradle][KPM] Implement IdeFragmentDependency(&Resolver)
...
This apis are expected to be called reflectively during
Gradle/Ide import of KPM projects.
2021-12-07 17:53:22 +00:00
sebastian.sellmair
00ed41a81e
[Gradle][KPM] Implement FragmentGranularMetadataResolverFactory
...
The logic is intended to be reused in ide import related logic
2021-12-07 17:53:21 +00:00
sebastian.sellmair
ea698838dd
[Gradle][KPM] Minor: Reuse logic in common toModuleIdentifier function
2021-12-07 17:53:21 +00:00
sebastian.sellmair
66521de4e2
[Gradle][KPM] Minor: FragmentGranularMetadataResolver rename 'metadataExtractor'
...
This renaming shall disambiguate the projectStructureMetadataExtractor
from the 'metadataProvider'
2021-12-07 17:53:21 +00:00
Victor Petukhov
7475d26902
[FE 1.0] Implement checker to detect changed resolve for progressions and ranges due to the start of implementing Collection<T>
...
^KT-49276 Fixed
2021-12-07 18:48:27 +03:00
Victor Petukhov
4363667bc1
Move range utils into common compiler part
2021-12-07 18:48:26 +03:00
Dmitry Petrov
100d7123c2
JVM_IR KT-50078 fix for-in-array loop bytecode shape
2021-12-07 17:41:59 +03:00
Dmitry Petrov
256aaa3388
Minor: extract *LoopHeader classes to separate files
2021-12-07 17:41:58 +03:00
Dmitriy Novozhilov
77fd42eb27
Advance bootstrap to 1.6.20-dev-6519
2021-12-07 15:49:09 +03:00
Leonid Startsev
767c570af4
Load default values for annotation members from classfiles
...
so that defaults are available to synthetic implementations.
#KT-48181 Fixed
Implementation is for JVM IR; other backends & FIR need to be supported
separately.
2021-12-07 10:10:04 +00:00
Dmitriy Novozhilov
e8868a2eff
[Test] Regenerate tests
2021-12-07 13:06:50 +03:00
Victor Petukhov
ce2c6f5d1f
[FE 1.0] Don't mark type variable as READY_FOR_FIXATION_DECLARED_UPPER_BOUND_WITH_SELF_TYPES if it has complex dependency to other type variables
...
^KT-49838 Fixed
2021-12-07 11:41:13 +03:00
Victor Petukhov
61d40403e7
[FE 1.0] Create captured star projection for self types by replacing type arguments deeply
...
^KT-49752 Fixed
2021-12-07 11:38:45 +03:00
Mikhael Bogdanov
6474a90555
Fix Android box tests
2021-12-06 19:34:40 +01:00
Mads Ager
529944fe9c
[JVM_IR] Fix inline class default method codegen.
...
Do not coroutine transform static inline class replacements that
forward to a default interface suspend method. No boxing has to
take place on return (as the default interface method always
boxes) so we can simply forward the call.
^KT-49645 Fixed
2021-12-06 17:29:59 +01:00
Dmitriy Novozhilov
50f610cfd8
[Test] Add forgotten dumps for Fir2Ir text tests
2021-12-06 19:23:14 +03:00
Dmitriy Novozhilov
3519543831
[IR Test] Properly create empty dump for IR files witout source
2021-12-06 19:23:12 +03:00
Mikhail Glukhikh
de783ad51f
FIR: clarify some calls around lookupTag.toSymbol
2021-12-06 18:07:20 +03:00
Mikhail Glukhikh
d842ac5d3e
FIR: change dispatch receiver type to ConeSimpleKotlinType
2021-12-06 18:07:20 +03:00
Mikhail Glukhikh
4ed2defd00
FirReifiedChecker: minor cleanup
2021-12-06 18:07:19 +03:00
Mikhail Glukhikh
2ba2453062
ConeFlexibleType: statically require to have simple bounds
2021-12-06 18:07:19 +03:00
Mikhail Glukhikh
fa8441fb23
FIR2IR: insert implicit not-null casts in delegated calls
2021-12-06 18:07:18 +03:00
Mikhail Glukhikh
7cfec0d846
FIR2IR: find & use delegate-to members properly
2021-12-06 18:07:18 +03:00
Mikhail Glukhikh
a919351d07
FIR2IR: change delegate field type to initializer type
2021-12-06 18:07:18 +03:00
Mikhail Glukhikh
49bb2a578e
FIR2IR: delay generation of delegated member bodies
...
Before this commit, we generated delegated member bodies eagerly
at the moment when delegated member itself was generated.
However, in fact delegated member may access e.g. fake override inside
its body, so to work properly, we must delay body generation.
2021-12-06 18:07:17 +03:00
Mikhail Glukhikh
85240bdb06
FIR2IR: generate type arguments in delegation calls
2021-12-06 18:07:17 +03:00
Alexander Shabalin
c57df1ac40
[K/N] Track stats in Mark
...
Tracking alive heap set size after Mark GC phase.
Merge-request: KT-MR-5179
^KT-48537
2021-12-06 14:51:01 +00:00
Dmitry Petrov
7206c06d26
IR KT-50039 don't initialize outer 'this' in delegating constructor
2021-12-06 17:31:37 +03:00
Dmitriy Dolovov
0f745032af
[Native][tests] External tests: Generate tests only relevant for Native
2021-12-06 17:28:23 +03:00
Dmitriy Novozhilov
f307ec2275
Add .idea/artifacts/kotlinx_atomicfu_runtime_legacy_1_6_255_SNAPSHOT.xml to .gitignore
2021-12-06 17:24:07 +03:00
Dmitriy Novozhilov
df2e9e3797
[FE 1.0] Correctly set USED_AS_EXPRESSION for unreachable when and if blocks
...
^KT-50028 Fixed
2021-12-06 17:24:06 +03:00
Dmitriy Novozhilov
7bcd3c7948
[FIR] Add FirExtensionRegistrarAdapter to fix extension points in FE 1.0 IDE plugin
...
FirExtensionRegistrar is FIR specific extension which requires FIR
classes to work, which are missing in dependencies of FE 1.0 IDE plugin.
To fix this issue FirExtensionRegistrarAdapter is introduced. This
class is a base class for FirExtensionRegistrar and it does not have
any FIR specific classes in it's API, so it can be safely registered
in IDE
2021-12-06 17:19:34 +03:00
Mikhael Bogdanov
a2395ec8bb
Additional diagnostics for @JvmDefaultWithCompatibility
2021-12-06 14:20:25 +01:00
Mikhael Bogdanov
a1262a4ecd
Rename JVM default flags
2021-12-06 14:20:25 +01:00
Mikhael Bogdanov
ea58c858d1
JvmDefault. Support @JvmDefaultWithCompatibility annotation
...
#KT-48217 Fixed
2021-12-06 14:20:24 +01:00
Alexander Shabalin
feefaf2273
[K/N] Update NEW_MM.md about AtomicReference
...
Merge-request: KT-MR-5187
^KT-50026
2021-12-06 13:13:00 +00:00
Pavel Kunyavskiy
01345ad62b
[K/N] Get rid of work with lagacy descriptor-based types
2021-12-06 12:32:08 +00:00
Tianyu Geng
eeb4e4278d
FE1.0 Analysis API: comment out KtFe10CallResolver for now
2021-12-06 12:40:43 +01:00
Tianyu Geng
9b05019137
FIR Analysis API: reimplement KtFirCallResolver with new data model
2021-12-06 12:40:43 +01:00
Tianyu Geng
c9f9ce99c1
Analysis API: adapt to KtCall data model change
...
Also add API to check if a `KtFunctionSymbol` is the invoke function on
a Kotlin builtin functional type.
2021-12-06 12:40:42 +01:00
Tianyu Geng
53b3893738
Analysis API: rework data model of resolve call API
2021-12-06 12:40:42 +01:00
Tianyu Geng
58067e0a1e
FIR checker: carry original candidate in ConeDiagnosticWithCandidates
...
This is needed by IDE when resolving calls because candidates carry more
information than just the targeting symbol.
2021-12-06 12:40:42 +01:00
Tianyu Geng
b2e1dfa6db
FIR checker: set source for assign call for augmented array set call
...
The source is set on the alternative block but not the XXXAssign call.
BTW, the real source is incorrect shared among the FirAugmentedArraySetCall,
FirBlock, so this change uses a fake source for the FirBlock and the
FirFunctionCall. Using fake source does not seem to be necessary for
compilable code because in that case FirAugmentedArraySetCall is
transformed to either a FirBlock or a FirFunctionCall. But it's needed
for ambiguous code where such transformation fails. In this case, all
three FirElements are present and they should not share the same real
source.
In addition, this change also sets a fake source for the `get` call of
the array access to the left hand side of the operator. For example,
`m[a] += 1` where `m` is some custom map implementation that does not
return `null` from `get`. The (fake) source of the synthetic `get` call
in FIR is now `m[a]`. This is handy because the analysis API will
resolve `m[a]` to the `get` call.
2021-12-06 12:40:42 +01:00
Tianyu Geng
bc95733818
FIR LL API: resolve PSI elements to more specific FIR element
...
Compound access and implicit delegated constructor are mapped to FIR
elements that are way too broad.
2021-12-06 12:40:41 +01:00