Dmitry Petrov
f5fde2c24f
Dump absent type arguments
2017-05-05 09:59:30 +03:00
Dmitry Petrov
ddb2b7508b
Generate property initializer within property scope
2017-05-05 09:59:30 +03:00
Dmitry Petrov
8e84862afa
Generate do-while condition within loop body scope
2017-05-05 09:59:30 +03:00
Dmitry Petrov
fdb4de355c
Use original descriptors to create symbols for callable references
2017-05-05 09:59:30 +03:00
Dmitry Petrov
c2601c947f
Postpone call arguments generation in compound assignment expressions
...
Otherwise RHS is generated twice, causing ISE in symbol binding
2017-05-05 09:59:30 +03:00
Anton Bannykh
2e9a59819a
JS: support internal visibility from friend modules
...
Friend modules should be provided using the -Xfriend-modules flag
in the same format as -libraries. No manual configuration required for
JPS, Gradle and Maven plugins.
Friend modules could be switched off using the -Xfriend-modules-disabled
flag. Doing that will
* prevent internal declarations from being exported,
* values provided by -Xfriend-modules ignored,
* raise a compilation error on attemps to use internal declarations from other modules
Fixes #KT-15135 and #KT-16568.
2017-05-04 21:44:17 +03:00
Alexey Tsvetkov
5c041cb182
Kapt3: Remove source stubs together with the class files when .kt file is marked dirty (IC)
2017-05-04 19:59:29 +03:00
Yan Zhulanow
254e8156ac
NoArg: Initialize properties in noarg constructor (KT-16692)
2017-05-04 18:46:42 +03:00
Anton Bannykh
7503376731
JS: unmute box/test/coroutinessuspendFunctionAsCoroutine/inlineTwoReceivers.kt
2017-05-04 16:47:00 +03:00
Mikhail Glukhikh
1273166ed0
Do not report redundant else for enum / sealed from another module
...
Related to KT-17497
2017-05-04 14:17:43 +03:00
Mikhail Glukhikh
14886827a2
Introduce warning REDUNDANT_ELSE_IN_WHEN #KT-17497 Fixed
2017-05-04 14:17:41 +03:00
Mikhail Glukhikh
e53c548ead
Consider property external if all accessors are external #KT-13997 Fixed
2017-05-04 14:17:40 +03:00
Mikhail Glukhikh
b8af0f5922
J2K: move isEffectivelyExternal to kt-file, parameter -> receiver
2017-05-04 14:17:38 +03:00
Dmitry Petrov
d5feb2d6f4
Deep copy fixes + sanitize file names for module dumps
2017-05-04 13:51:17 +03:00
Dmitry Petrov
506941e7e0
Optimize range operations for 'until' extension from stdlib (KT-9900)
...
NB: for-in-until loop is generated as precondition loop, because the
corresponding range is right-exclusive (and thus we have no problems
with integer overflows).
2017-05-04 10:09:42 +03:00
Dmitry Petrov
b83620fdb9
Minor: DeepCopyIrTree: make some utility methods 'protected'
2017-05-04 09:33:03 +03:00
Dmitry Petrov
e600a1af30
Minor: IrDeclarationOrigin.NEW_INSTANCE_RECEIVER -> INSTANCE_RECEIVER
2017-05-04 09:33:03 +03:00
Dmitry Petrov
1eb693b8ee
Transform variable-as-function calls for extension functions
...
In the following code example
fun test(f: Any.() -> Unit) = 42.f()
front-end resolves variable-as-function call for 'f' as 'invoke'
with signature 'Function1<Any, Unit>#Any.() -> Unit'.
However, Function1<Any, Unit> has a single 'invoke' method
with signature 'Function1<Any, Unit>#(Any) -> Unit'.
This didn't cause any problems with loosely typed JVM and JS back-ends.
However, in IR with symbols this means a reference to non-existing
declaration.
2017-05-04 09:33:03 +03:00
Dmitry Petrov
7bd75df1f1
Minor: small refactorings in IrElementTransformerVoid
2017-05-04 09:33:03 +03:00
Dmitry Petrov
0203ba4dff
Use stable order when generating stubs for scope members
2017-05-04 09:33:03 +03:00
Dmitry Petrov
40939da9fb
Minor: DeclarationGeneratorExtension already extends Generator
2017-05-04 09:33:03 +03:00
Dmitry Petrov
17706d0fb6
Generate parameter declarations for synthetic members of enum classes
2017-05-04 09:33:03 +03:00
Dmitry Petrov
c4346f95ff
Minor: fix testData format local delegated properties with 'suspend'
2017-05-04 09:33:03 +03:00
Dmitry Petrov
8b32d54a62
Minor: fix testData format for IR source range tests
2017-05-04 09:33:03 +03:00
Dmitry Petrov
78a601af87
Generate parameter declarations for fake overrides
2017-05-04 09:33:03 +03:00
Dmitry Petrov
fa4dc26814
Put 'thisReceiver' declaration in class
...
Interfaces also have 'thisReceiver'
2017-05-04 09:33:03 +03:00
Dmitry Petrov
90ec53b3b0
Generate catch-block body within proper scope
2017-05-04 09:33:03 +03:00
Dmitry Petrov
acefd0d891
Minor refactor and fix in Scope constructors
2017-05-04 09:33:03 +03:00
Dmitry Petrov
54294eaaa7
Minor fix and deprecation in DeepCopyIrTree
2017-05-04 09:33:03 +03:00
Dmitry Petrov
4dd199fedf
OldDeepCopyIrTree --> DeepCopyIrTree (for migration)
2017-05-04 09:33:03 +03:00
Dmitry Petrov
d5fb0f3f32
Minor: simplify code in generateEnumConstructorCallOrSuperCall
2017-05-04 09:33:03 +03:00
Dmitry Petrov
aa515a9e5a
Add test for outer class instance reference from inner class
2017-05-04 09:33:03 +03:00
Dmitry Petrov
5ec9cb3171
OldDeepCopyIrTree: old DeepCopyIrTree working with new IrElement hierarchy
2017-05-04 09:33:03 +03:00
Dmitry Petrov
b53807ab83
Drop IrBuiltinsOperatorsBuilder
2017-05-04 09:33:03 +03:00
Dmitry Petrov
de7b7ce6d5
Generate anonymous initializer body in separate scope
2017-05-04 09:33:03 +03:00
Dmitry Petrov
9c3387e174
Deprecate IrMemberFunctionBuilder
2017-05-04 09:33:03 +03:00
Dmitry Petrov
6f2c8140cf
IrDelegatingConstructorCall should have substituted descriptor
2017-05-04 09:33:03 +03:00
Dmitry Petrov
6e79709ef1
Simplify helper methods in SymbolTable auxiliary classes
2017-05-04 09:33:03 +03:00
Dmitry Petrov
a511540aad
Render receivers as 'this@owner: type'
...
Add test for generic inner class with generic outer class.
2017-05-04 09:33:03 +03:00
Dmitry Petrov
1bf6f8fc57
Do not generate separate type parameter declarations for constructors
2017-05-04 09:33:03 +03:00
Dmitry Petrov
57b2a4461c
Call IrSymbol.bind in declaration constructors
2017-05-04 09:33:03 +03:00
Dmitry Petrov
7995684d07
Bind declaration symbols in DeepCopyIrTree.
...
Check that symbols are properly bound.
2017-05-04 09:33:03 +03:00
Dmitry Petrov
208bf5c667
Bind declaration symbols in DeepCopyIrTree.
...
Check that symbols are bound.
2017-05-04 09:33:03 +03:00
Dmitry Petrov
a840cf7643
Fix source range tests: support "undefined" offsets
2017-05-04 09:33:03 +03:00
Dmitry Petrov
40e09a39c1
Fix prototype JVM BE tests
2017-05-04 09:33:03 +03:00
Dmitry Petrov
2b0d3440ad
Descriptors in calls are substituted,
...
and symbols refer to the original descriptors.
2017-05-04 09:33:03 +03:00
Dmitry Petrov
d7a362b4f6
Binding: all current tests are green.
2017-05-04 09:33:03 +03:00
Dmitry Petrov
00e4accb7b
Add 'isBound' property to IrSymbol
2017-05-04 09:33:03 +03:00
Dmitry Petrov
2b48908586
Local delegated properties implementation + some more fixes
2017-05-04 09:33:03 +03:00
Dmitry Petrov
c9777fd79f
Add symbols to references
...
TODO: fix some more tests
2017-05-04 09:33:03 +03:00