Commit Graph

15402 Commits

Author SHA1 Message Date
Alexander Udalov db3e0798c8 Minor, move the Lombok hack a bit higher 2016-06-09 16:38:47 +03:00
Alexander Udalov 0c0a451d20 J2K serialization: fix compilation and prettify 2016-06-09 15:54:49 +03:00
Alexander Udalov 6692aca5f3 J2K serialization: invoke automatic J2K conversion 2016-06-09 15:54:49 +03:00
Alexander Udalov 89c0af0d80 J2K serialization: move .java -> .kt 2016-06-09 15:54:49 +03:00
Alexander Udalov 70378a07c9 Minor, fix code style in CompilerConfiguration 2016-06-09 15:54:49 +03:00
Stanislav Erokhin 4f943dcbf8 KT-11778 Exception in Lombok plugin: Rewrite at slice FUNCTION
#KT-11778 Fixed.
EA-64051 Fixed.
2016-06-09 14:22:23 +03:00
Stanislav Erokhin 93b27417af Minor. update testdata. 2016-06-09 12:59:06 +03:00
Stanislav Erokhin 6bce4f6d6a Minor. compilation after rebase. 2016-06-09 12:58:25 +03:00
Stanislav Erokhin 541b9954f5 Minor. Roll back behaviour for FlexibleType.isError. 2016-06-09 12:58:23 +03:00
Stanislav Erokhin fd40273a0d Removed interface LazyType. 2016-06-09 12:58:19 +03:00
Stanislav Erokhin 63b2f89356 Removed laziness from TypeDeserializer, because DeserializedMemberScope has cache for callable descriptors. 2016-06-09 12:58:18 +03:00
Stanislav Erokhin de97bc2a05 Minor. simplified creation of simple type with default scope. 2016-06-09 12:58:16 +03:00
Stanislav Erokhin 0bec639b07 Introduce LazyWrappedType. 2016-06-09 12:58:14 +03:00
Stanislav Erokhin 8c2ad82de7 Minor. fixes after review 2016-06-09 12:58:07 +03:00
Stanislav Erokhin 797ef8d143 Refactoring. Removed all usages of asSimpleType except related to TypeSubstitution. 2016-06-09 12:58:05 +03:00
Stanislav Erokhin dd362f683c Corrected util method getFunctionTypeForSamType for flexible types. 2016-06-09 12:58:03 +03:00
Stanislav Erokhin a6da15f8e2 Minor. remove several methods from TypeUtils 2016-06-09 12:58:02 +03:00
Stanislav Erokhin f41c8dc045 Refactoring. Removed several usages of asSimpleType 2016-06-09 12:58:00 +03:00
Stanislav Erokhin 1d9ca06b96 Remake KotlinTypes. 2016-06-09 12:57:59 +03:00
Stanislav Erokhin a5c1e009c3 Remove type capability AbbreviatedType. 2016-06-09 12:57:55 +03:00
Stanislav Erokhin 203c4cd94d Remake Raw type representation.
(cherry picked from commit b21cede)
2016-06-09 12:57:53 +03:00
Stanislav Erokhin 1eaefa7fed Refactoring. Remove type capability Flexibility. 2016-06-09 12:57:50 +03:00
Stanislav Erokhin 669558c4ba Refactoring. Move flexible type factory to deserialization module. 2016-06-09 12:57:48 +03:00
Stanislav Erokhin 42857992ed Minor. Add ALLOW_AST_ACCESS to two tests.
We suppose, that AST access is allowed if we have property with initializer.
2016-06-09 12:57:47 +03:00
Stanislav Erokhin 7bc2c55d12 Refactoring. Create WrappedType. 2016-06-09 12:57:46 +03:00
Stanislav Erokhin 957bae18be Refactoring. Move flexible type creation to KotlinTypeFactory. 2016-06-09 12:57:44 +03:00
Stanislav Erokhin 3a451744c5 Introduce KotlinTypeFactory 2016-06-09 12:57:43 +03:00
Stanislav Erokhin 8c6dd95e3f Introduce SimpleType. 2016-06-09 12:57:41 +03:00
Dmitry Petrov 44829a61e7 Report redeclaration errors for type aliases vs class/interface/object. 2016-06-09 10:27:51 +03:00
Dmitry Petrov d3721872b2 Tests for type alias diagnostics: type parameter bound violation in type alias constructor 2016-06-09 10:27:51 +03:00
Dmitry Petrov b552425558 Tests for type alias diagnostics: type projections in type alias constructor
(should report same errors as for classes)
2016-06-09 10:27:51 +03:00
Dmitry Petrov d86be43171 Tests for type alias diagnostics: wrong number of type arguments in type alias constructor 2016-06-09 10:27:51 +03:00
Dmitry Petrov ccbade663b Do not perform type alias expansion for error types. 2016-06-09 10:27:50 +03:00
Dmitry Petrov b2e5cfebee Diagnostics for type alias expansion errors in type alias RHS 2016-06-09 10:27:50 +03:00
Denis Zharkov 9c929dd609 Minor. Rename MandatoryMethodTransformer -> FixStackWithLabelNormalizationMethodTransformer
It's necessary because some usages suppose that it's only purpose is fixing stack
2016-06-08 18:53:16 +03:00
Denis Zharkov 2c78ce22a5 Minor. Simplify coroutine transformation 2016-06-08 18:53:16 +03:00
Denis Zharkov 771cca9c23 Fix some try-catch block related problems in coroutine transformer
Split all try-catch blocks when they intersect suspension points
2016-06-08 18:53:16 +03:00
Denis Zharkov e802049fd0 Ignore handleReturn calls if functions is not operator 2016-06-08 18:53:16 +03:00
Denis Zharkov 692acc463a Fix handleResult call generation for statement-like last expression in a block 2016-06-08 18:53:16 +03:00
Denis Zharkov 3a5197d1ae Minor. Simplify collecting save/restore markers for FixStackMethodTransformer 2016-06-08 18:53:16 +03:00
Denis Zharkov 0d01edb7f9 Adapt FixStackAnalyzer to code generated by coroutine transformation
Without this change internal error happens while inlining coroutine code with try/catch inside
Also get rid of hack with SKIP_MANDATORY_TRANSFORMATIONS_ANNOTATION_DESC
See comment within MethodAnalyzer for clarification
2016-06-08 18:53:16 +03:00
Denis Zharkov 678e8c2baa Setup label value in constructor to be invalid until 'invoke(Controller)' call 2016-06-08 18:53:16 +03:00
Denis Zharkov 759cb83dfb Add checks that coroutines are available at the given language level 2016-06-08 18:53:16 +03:00
Denis Zharkov 2bdaec6eac Refine definition of whether call is suspension point
It's not about all calls to suspend functions, they may called from non-coroutine code
2016-06-08 18:53:16 +03:00
Denis Zharkov 07592398c1 Preserve sources properly for coroutine parts
Otherwise incremental reporting leads to exception when inlining into coroutine body happens
2016-06-08 18:53:16 +03:00
Denis Zharkov 7dda2d9f62 Add ability to set up source element when copying descriptor 2016-06-08 18:53:16 +03:00
Denis Zharkov dddd7413a1 Fix generated code for suspending in the middle of object construction 2016-06-08 18:53:16 +03:00
Denis Zharkov b8d4d39f4d Add custom applicability checks for suspend/coroutine modifiers 2016-06-08 18:53:16 +03:00
Denis Zharkov d760a2ec3b Add CallChecker prohibiting non-local suspension calls
Effectively suspension point is local <=> return to relevant lambda is allowed in place
2016-06-08 18:53:16 +03:00
Denis Zharkov b1189eff23 Make suspension calls generation more stable
Instead of performing signature change during transformation
it's convinient to make just when generating corresponding call,
for example there is no need to think about default parameters as they just work as is

See comment above replaceSuspensionFunctionViewWithRealDescriptor for clarification
2016-06-08 18:53:16 +03:00