pyos
cf74b5e87b
Mark callable reference classes as synthetic
2019-05-24 11:27:19 +02:00
pyos
e7dd41743f
Prefix captured variables' names with $
2019-05-24 11:27:19 +02:00
Svyatoslav Kuzmich
7aed8d2f75
[JS IR BE] Fix lowering types nullability
2019-05-24 11:50:46 +03:00
Svyatoslav Kuzmich
cd55e6b1e5
[JS IR BE] Use static fields instead of variables in enum lowering
2019-05-24 11:50:46 +03:00
Ting-Yuan Huang
bdcd6f73b1
Move tailrecPhase before defaultArgumentStubPhase
...
So that default values can be copied to the recursive call sites.
2019-05-24 09:51:07 +02:00
Vadim Brilyantov
6addb24e4b
#KT-31574 : Keep CoreJarFileSystem in compiler jar to save clearHandlersCache
2019-05-23 21:39:05 +03:00
Dmitriy Novozhilov
ffc0276215
Fix compiler testdata broken in 95544b0
2019-05-23 17:46:16 +03:00
Mikhail Glukhikh
728459a504
Add IR for-in-range test
2019-05-23 14:02:12 +03:00
Mikhail Glukhikh
139557e641
FIR2IR: support super-types & type parameters for external class
2019-05-23 14:02:12 +03:00
Mikhail Glukhikh
a973a21ec6
FIR2IR: support assignments of local variables
2019-05-23 14:02:11 +03:00
Mikhail Glukhikh
68da1a97d1
Add fib test to FIR resolve tests
2019-05-23 14:02:11 +03:00
Mikhail Glukhikh
f3960c9482
Preliminary implementation of parts & facade in FIR-based compiler
2019-05-23 14:02:11 +03:00
Mikhail Glukhikh
2bf80ff64e
FIR: support copy functions in data classes
2019-05-23 14:02:10 +03:00
Mikhail Glukhikh
d9261acdfc
Raw FIR builder: extract 'generateComponentFunctions' for data class
2019-05-23 14:02:10 +03:00
Simon Ogorodnik
672c172c99
[FIR] Make result type after safe-call nullable (for nullable receiver)
2019-05-23 14:02:10 +03:00
Simon Ogorodnik
f7b6fec70c
[FIR] Transform explicit receiver of QAE properly
2019-05-23 14:02:10 +03:00
Simon Ogorodnik
27a1ec3817
[FIR] Allow nullable receiver type in case of safe-calls
2019-05-23 14:02:10 +03:00
Mikhail Glukhikh
b28207deca
FIR2IR: support fields in Java FIR
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
6c313895df
[FIR] Do not enhance java fields to firProperty
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
397aaa189e
[FIR] Allow type-variables in general subtyping with cone context
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
20ba15a429
[FIR] Typing for annotation calls
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
c168c22fba
Render property accessors in html fir dump
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
9266a2cdba
Add equals/hashCode to some FIR cone types
2019-05-23 14:02:08 +03:00
Simon Ogorodnik
aa96837758
[FIR] Introduce unchecked not-null cast as internal operation for !!, ?:
2019-05-23 14:02:08 +03:00
Simon Ogorodnik
b469eb293b
[FIR] Typing for try-catch
2019-05-23 14:02:08 +03:00
Simon Ogorodnik
30e097a1e0
Fix modifiers order and repeating in html fir dump
2019-05-23 14:02:08 +03:00
Simon Ogorodnik
58fd62fd49
Fix try catch rendering in html fir dump
2019-05-23 14:02:08 +03:00
Simon Ogorodnik
9398addb9d
Fix cycle avoidance in FIR implicit type resolve
...
This commit fixes the following case:
transformer visiting it twice before reporting cycle
fun foo() = foo()
2019-05-23 14:02:07 +03:00
Mikhail Glukhikh
26974788e9
FIR2IR converter: handle receivers and parents more correctly
2019-05-23 14:02:07 +03:00
Mikhail Glukhikh
90009f002c
Add FIR test for 'Exception' constructor resolve ambiguity (type alias)
2019-05-23 14:02:07 +03:00
Mikhail Glukhikh
b72f3aa206
Remove code duplication in KotlinToJvmCompiler (old FE vs FE IR)
...
Related to KT-31265
2019-05-23 14:02:07 +03:00
Mikhail Glukhikh
05154d24d4
Select stub or real symbol for java.lang.Class in IR dependent on mode
...
This commit fixes some black-box IR tests broken by stub introduction
2019-05-23 14:02:07 +03:00
Mikhail Glukhikh
f4fdc66a34
Introduce experimental FIR compiler #KT-31265 Fixed
...
This commit also includes several FIR2IR fixes which helps FIR compiler
to produce normal results
2019-05-23 14:02:06 +03:00
Mikhail Glukhikh
892419c08a
Generate stub java.lang.Class in IR JvmSymbols instead of scope reading
...
Before this commit, java.lang.Class was read via JvmBackendContext,
its module descriptor and its package member scope.
However, this works only for old FE with descriptors and
descriptor-based scopes available.
2019-05-23 14:02:06 +03:00
Ting-Yuan Huang
0aee2d0568
Fix signature generation for calls to enum and inner class constructors
...
The synthesized arguments caused the size of default value mask off by
one when it is close to the boundary of Int.SIZE, which in turn
resulted in wrong signature at call sites.
2019-05-23 12:29:57 +02:00
Peter Xu
a639607821
Revert obsolete code introduced in KT-12402
...
The classes being filtered have been renamed months ago. The change
committed in KT-12402 is no longer relevant as the underlying issue has
been fixed.
2019-05-23 19:09:28 +09:00
Dmitriy Novozhilov
95544b0970
Add wrappers on KotlinType in EffectSystem
...
Also that commit removes usages of builtins inside
effect system and starts refactoring of functor
composition via composition instead of inheritance.
There are some changes in testdata related to inference of recursive
functions with implicit return types.
After this commit they all are marked as unresolved. It happens because
those functions have DeferredType as return type, and computing this
type produces recursive exception, which provides “typechecker
recursive problem” diagnostic.
Before this commit, function call was completed successfully, because
call completer didn’t computed that type, and computation of DeferredType
were triggered only in `DataFlowAnalyzer.checkType`.
Now, effect system tries to compute that type while wrapping KotlinTypes
into ESTypes, and effect system itself is triggered in in call completer,
so, call completion doesn’t finish and function call is marked as unresolved.
#KT-31364
2019-05-23 12:23:22 +03:00
Dmitriy Novozhilov
fb77e1f0bd
[NI] Fix recursion in contract declaration analysis.
...
#KT-30410 Fixed
2019-05-23 12:22:42 +03:00
Dmitriy Novozhilov
8d5c61f3ab
[NI] Return error type for unsupported descriptors in callable reference inference
2019-05-23 12:22:42 +03:00
Dmitriy Novozhilov
b4c8c79931
[NI] Add check for non-null argument type in arguments check
...
#KT-31461 Fixed
2019-05-23 12:22:42 +03:00
Dmitriy Novozhilov
b323298b0e
[NI] Remove deep types in commosn super type for recursive types
...
#KT-30411 Fixed
2019-05-23 12:22:42 +03:00
Dmitriy Novozhilov
f54653eb2b
[NI] Fix error type approximation in ILTApproximatorConfiguration
...
#KT-31441 Fixed
2019-05-23 12:22:42 +03:00
Ilya Kirillov
fa8a067c85
Fix losing flexible type enhancement in type substituting
...
It breaks `org.jetbrains.kotlin.nj2k.NewJavaToKotlinConverterSingleFileTestGenerated.ToArray#testToArray` test due to losing external nullability annotations
2019-05-22 22:20:17 +03:00
victor.petukhov
d4515031de
Report warning about implicitly inferred nothing only for return position
...
^KT-31535 Fixed
2019-05-22 15:45:59 +03:00
Roman Artemev
72f7287ad2
[IR BE] Fix array constructor loop. Use index parameter as immutable value
2019-05-22 15:18:13 +03:00
Roman Artemev
dfa38f4a4d
[JS IR BE] Fix state machine generation in case of composition of loops, inline functions and finally blocks
...
* lower finally blocks in any cases
* do not optimize exit blocks for if-statements
2019-05-22 15:18:13 +03:00
Roman Artemev
9c7d47789c
[JS IR BE] Implement type check for SuspendFunctionN
2019-05-22 15:18:13 +03:00
Steven Schäfer
9894c216c1
Fix test for static default methods in KotlinTypeMapper
2019-05-22 13:33:08 +02:00
Steven Schäfer
cf13293363
Use FQ names for string plus intrinsic in FlattenStringConcatenationLowering
2019-05-22 12:14:43 +02:00
Alexander Udalov
43bf962d79
Fix CLI test data on -XXLanguage arguments
...
We should use '\:' instead of ':' because the latter is replaced to the
path separator in AbstractCliTest.readArg which is ';' on Windows.
2019-05-22 08:48:37 +02:00