Commit Graph

16768 Commits

Author SHA1 Message Date
Anton Bannykh 334ae72957 Moved checking that reified is used in inlines only to the main frontend (KT-12695, KT-13697 fixed) 2016-11-15 13:44:48 +03:00
Alexander Udalov eedad9194e Drop KParameter.isNoinline, KParameter.isCrossinline
There seems to be no valuable use cases for them at the moment
2016-11-15 11:01:17 +03:00
Alexander Udalov 7e82d139cf Drop KFunction.isTailrec
The fate of this modifier seems unclear, and there doesn't seem to be any
valuable use cases for it in reflection
2016-11-15 11:01:16 +03:00
Denis Zharkov 5e73dc4a4c Minor. Invert 'notLocal' boolean value parameter
- Mainly to avoid double negations (!notLocal)
- Also swap last parameters (to allow use of named arguments)
2016-11-15 09:30:13 +03:00
Denis Zharkov 6fca46a452 Allow inferring property type from its getter
#KT-550 Fixed
2016-11-15 09:30:13 +03:00
Denis Zharkov 51a5bf9f7e Minor. Drop redundant parameters of 'inferReturnTypeFromExpressionBody'
Both storageManager and expressionTypingServices must be the same instances
inside the resolution session and can be obtained from the DescriptorResolver fields
2016-11-15 09:30:13 +03:00
Denis Zharkov 77c524de33 Minor. Remove redundant if
'inType' var is guaranteed to be not-null
2016-11-15 09:30:13 +03:00
Denis Zharkov 96fa04569a Minor. Simplify variable type resolution 2016-11-15 09:30:13 +03:00
Denis Zharkov e21ecbe702 Minor. Split method VariableTypeResolver.process
It looks much natural to differ type resolution and setting
compile time initializer to descriptor
2016-11-15 09:30:13 +03:00
Dmitry Jemerov 7beee33f05 Read bundled runtime version from build.txt in 'kotlinc' directory, not from plugin version 2016-11-14 18:51:36 +01:00
Mikhail Glukhikh b850d71e17 Replace single line let: application on IDEA + front-end modules 2016-11-14 18:47:23 +03:00
Mikhael Bogdanov 61da8be260 Generate parameters metadata for java 8 reflection 2016-11-14 14:27:08 +01:00
Alexey Tsvetkov f381f1e699 Revert default value for "main" parameter for Gradle JS plugin to "call"
#KT-14724 fixed
2016-11-11 21:25:05 +03:00
Dmitry Jemerov ab0af43a6a Update proguard file for compatibility with new Snappy version in IDEA 162-SNAPSHOT 2016-11-11 18:15:29 +01:00
Dmitry Jemerov 978b70e50b Add test for KT-14751 2016-11-11 18:15:24 +01:00
Alexander Udalov 0d4bd2a673 Use OperatorNameConventions constants instead of hardcoded literals 2016-11-11 19:00:09 +03:00
Alexander Udalov 65882579bc Minor, add toString() for debug 2016-11-11 19:00:08 +03:00
Alexander Udalov 9e9c548ca3 Minor, print more debug info on serializing error annotation 2016-11-11 19:00:07 +03:00
Alexey Andreev a72ea64142 JS: fix translation of lambdas in public inline functions; fix AMD emulation for Ant test 2016-11-11 16:26:39 +03:00
Dmitry Petrov b429f7bc86 KT-14581 Make FixStackAnalyzer tolerant to uninitialized values 2016-11-11 13:30:15 +03:00
Alexey Andreev 71ef8c4f89 JS: fix exception in JS front-end when checking JsName that was resolved with errors 2016-11-11 11:11:19 +03:00
Dmitry Petrov 6876f0e4d2 Support type aliases as bare types after 'is/as'. 2016-11-10 18:33:50 +03:00
Mikhael Bogdanov 21f2febf82 Fix for KT-13557: VerifyError with delegated local variable used in object expression
#KT-13557 Fixed
2016-11-10 15:12:16 +01:00
Dmitry Petrov 37eedc3703 Hack: do not add trivial constraints (t <: Any?) for constituent types,
otherwise nested calls handling logic in old inference wouldn't work for type alias constructors.
2016-11-10 14:54:11 +03:00
Dmitry Petrov 549ae59562 Inference for type alias constructor type arguments: better error reporting. 2016-11-10 14:54:11 +03:00
Dmitry Petrov 94d7bd7a6b KT-14641: Nested type alias reference via an instance is an error. 2016-11-10 14:54:11 +03:00
shiraji a662d777e8 Implement "Remove redundant '.let' call" binary operator support #KT-14396 Fixed 2016-11-10 14:26:14 +03:00
Mikhail Glukhikh ce72337ebd Effective visibility is now considered private for invisible fake #KT-14469 Fixed 2016-11-10 13:42:58 +03:00
Zalim Bashorov afa58599ec Specify target backend as JVM for SAM tests; mute other failed tests and regenerate tests. 2016-11-10 13:27:54 +03:00
Denis Zharkov 24819a079b Change resolution scope for componentX in lambda parameters
Component-functions are resolved in the same scope as the first statement of the lambda, but lambda receiver was not available

 #KT-14692 Fixed
2016-11-10 10:33:42 +03:00
Mikhail Zarechenskiy 6656bf835f Perform resolve of constructor parameters during partial constructor resove
#KT-13354 Fixed
2016-11-09 23:00:25 +03:00
Zalim Bashorov 41bd276814 Mute some new tests for JS and regenerate tests 2016-11-09 21:51:33 +03:00
Zalim Bashorov 5500f80d0b Support ignoring by target backend for single generated classes 2016-11-09 21:41:12 +03:00
Zalim Bashorov af4ec9815b Add ability to ignore test for backend w/o checks
It used for the tests from this commit becouse they was failing during setup.
2016-11-09 21:41:12 +03:00
Zalim Bashorov a27572af49 Fix failed tests 2016-11-09 21:41:12 +03:00
Zalim Bashorov 1dedb38481 Regenerate tests 2016-11-09 21:41:12 +03:00
Zalim Bashorov 8e480e275b Ignore files with incompatible target when check that all test are presented 2016-11-09 21:41:12 +03:00
Zalim Bashorov 0ecb13b150 Move TargetBackend to tests-common module 2016-11-09 21:41:12 +03:00
Zalim Bashorov a1730f98ba Don't generate test when target backend is not suitable 2016-11-09 21:41:12 +03:00
Zalim Bashorov afe6ec92a4 Break infinity loop in the test 2016-11-09 21:41:12 +03:00
Zalim Bashorov ee129bebb6 Automatically mute failed generated tests from compiler/testData/codegen/box/ranges 2016-11-09 21:41:12 +03:00
Zalim Bashorov 596f3364c6 Automatically mute failed tests 2016-11-09 21:41:12 +03:00
Denis Zharkov 55508afb8c Make initial continuation able to be resumed with exception
#KT-14719 Fixed
2016-11-09 16:26:32 +03:00
Denis Zharkov ae70a60a0a Validate label value of coroutine in case of no suspension points
#KT-14718 Fixed
2016-11-09 16:26:32 +03:00
Ilya Chernikov 6e96d192bf Move incremental components to compller util to reduce dependencies of compiler interface modules 2016-11-09 11:09:32 +01:00
Denis Zharkov 50a5c08603 Optimize visibility for controller field in CoroutineImpl
While it's impossible to declare a property with protected field and public
getter we split these entities

- `_controller` field is used inside coroutines
- `controller` getter is used for accesing controller from noinline lambdas
 (also it can be used to obtain controller from continuation by explicit cast)
2016-11-09 12:25:31 +03:00
Denis Zharkov 020bab1d7c Minor. Get rid of possible exception when no runtime in class-path
This change is made under the assumption that some version of built-in
classes will always be available through `module.builtIns.getBuiltInClassByFqName`
2016-11-09 12:25:31 +03:00
Denis Zharkov bd5c08f598 Make fields for storing lambda parameters non-final
Because they get assigned within `invoke` call that contradicts with JVM spec
where it's told that they must not be assigned outside of constructors
2016-11-09 12:25:31 +03:00
Denis Zharkov e54b466010 Make fields representing variables in coroutines non-volatile
#KT-14636 Fixed
2016-11-09 12:25:31 +03:00
Denis Zharkov 7e49db8768 Introduce CoroutineImpl as a common super class for coroutines
The main benefit are class-files sizes for them
(not repeating the same declaration for each coroutine)
Also it helped to simplify coroutine codegen code a little

Note that controller/label field become non-volatile (see KT-14636)

 #KT-14636 In Progress
2016-11-09 12:25:31 +03:00