Commit Graph

10629 Commits

Author SHA1 Message Date
Denis Zharkov eefea26d54 Recovery for initializer if no LBRACE
- If no LBRACE after 'init' keyword parse initializer without body
- Made getBody() nullable, appropriate checks added
2015-03-18 19:59:25 +03:00
Denis Zharkov df23ff3473 Improve AddInitKeyword quickfix
- Extract quickfix method
- Delete redundant semicolon
- Do not replace initializer PSI element
2015-03-18 19:59:25 +03:00
Denis Zharkov bd5dbb665e Fix header scope for secondary constructors
Add companion object's scope and nested classes

 #KT-6996 fixed
2015-03-18 19:59:24 +03:00
Michael Bogdanov ed62e4972f Temporary disable smap generation 2015-03-18 19:00:24 +03:00
Michael Bogdanov 6e55ea6480 Skip smap generation if there is no source information
#KT-7022 Fixed
2015-03-18 18:49:18 +03:00
Stanislav Erokhin 43e24f6b0d Fixed test data for new lambda syntax 2015-03-18 16:06:44 +03:00
Stanislav Erokhin 371908a280 Temporary added DEPRECATED_LAMBDA_SYNTAX to tests.
It will be fixed soon.
2015-03-18 16:06:44 +03:00
Stanislav Erokhin 47e8b1e77c Create warning for old lambda syntax. 2015-03-18 16:06:44 +03:00
Stanislav Erokhin c24c3daf54 Allowed shorthand parameter list with type reference in lambda. 2015-03-18 16:06:44 +03:00
Stanislav Erokhin 7a8341d0f1 Added parser test for function with initializer. 2015-03-18 16:06:44 +03:00
Stanislav Erokhin 446816e3db Created automatic labeling of function expression. 2015-03-18 16:06:44 +03:00
Stanislav Erokhin 4eac3f3f0e Remove useless casts after fixing subtyping for star projections 2015-03-18 16:06:44 +03:00
Alexander Udalov 8788bc7cc6 Fix classpath for ant tests 2015-03-18 16:06:44 +03:00
Denis Zharkov e05cbf5e9f Support secondary constructors and delegation calls in Change Signature.
Initial support of Find Usages
2015-03-18 10:56:36 +03:00
Denis Zharkov 0debd1ce6f Make IDE parts using light methods work with JetFunction 2015-03-18 10:56:34 +03:00
Alexey Sedunov 7d278f2f42 Use class name as secondary constructor name 2015-03-18 10:56:33 +03:00
Denis Zharkov 25de64c6ab Support class rename in place of secondary ctor call 2015-03-18 10:56:31 +03:00
Denis Zharkov c6290efbe2 Fix origin of secondary constructors 2015-03-18 10:56:28 +03:00
Michael Nedzelsky b0b90ff6a9 add KotlinJavascriptSerializerTest 2015-03-18 09:39:06 +03:00
Michael Nedzelsky 33cdf8c969 JS backend: add cli test for creating metadata and ant test for library with metadata 2015-03-18 09:39:04 +03:00
Michael Nedzelsky 7ebfd37c33 JS backend: support for reading metadata 2015-03-18 09:38:55 +03:00
Michael Nedzelsky 3bf14518e8 JS backend: add -meta-info command line option for cli compiler 2015-03-18 09:38:53 +03:00
Michael Nedzelsky e0c0012a20 add serialization.js module 2015-03-18 09:38:47 +03:00
Michael Nedzelsky a7ba93c1d1 add flexibleTypeCapabilitiesDeserializer field to BuiltinsPackageFragment 2015-03-18 09:38:42 +03:00
Michael Nedzelsky a6c21fbe85 JS backend: LibraryUtils: add support for load and write metadata 2015-03-18 09:38:36 +03:00
Michael Nedzelsky 930ecb9cf9 move BuiltInsSerializerExtension from builtins-serializer to serialization module 2015-03-18 09:38:25 +03:00
Michael Bogdanov d765d899a7 Fix NPE with origin calculation 2015-03-18 09:22:56 +03:00
Zalim Bashorov 8421a15521 JS backend: report diagnostic when try to get referenece on builtin members instead of crash with Exception. 2015-03-18 08:55:56 +03:00
Zalim Bashorov 975c4ffab5 JS backend: report diagnostic for class literal(Foo::class) instead of crash with Exception. 2015-03-18 08:55:56 +03:00
Zalim Bashorov 8d6cbb671a JS backend: report diagonstic message for unsupported element instead of throw exception.
#KT-6507 Fixed
2015-03-18 08:55:56 +03:00
Alexander Udalov a4f9fe1eaa Filter out invisible fakes in KClass.properties
A user will rarely need those at the moment, and there's currently no other way
to let him filter out them by himself
2015-03-17 23:39:13 +03:00
Alexander Udalov d3abd54b06 Add 'val KClass.declaredProperties', make getProperties a property 2015-03-17 23:39:13 +03:00
Denis Zharkov 36665fe3b8 Change logic of constructor delegation call resolution
- If class has type arguments (A<T1,..>) then
  resolve it's delegation call to `this` as for expression A<T1, ..>()
  like type arguments are explicitly specified.

- Same logic works for `super` delegation calls.

- It could be just enough to substitute all candidates before resolve
  but diagnostic messages looks more correct when substitution is
  performed within CandidateResolver.performResolutionForCandidateCall
  because it works the same way as when resolving A<T1, ..>().

 #KT-6992 Fixed
 #KT-6993 Fixed
 #KT-6994 Fixed
2015-03-17 23:18:35 +03:00
Denis Zharkov 52ba8333dc Refactor delegation call resolution
- Move resolution logic from BodyResolver to CallResolver
- Call resolveConstructorDelegationCall explicitly without resolveFunctionCall
- Drop dead condition and unused method
2015-03-17 23:18:35 +03:00
Denis Zharkov 9cecd69a9e Drop unneeded condition that leads to error
This check is obsolete but leads to problems.

It appears when resolving recursive calls (see sameTypeParameterUse.kt):

`foo<R>(x: R, y: R)` within call `foo<R>(x, "")` after substitution
has R as type of it's second argument, and when checking value arguments,
x is not checked because supposed to be dependent on type parameter of candidate
(that is effectively false), so there are two successful candidates
in resolution results and wrong OVERLOAD_RESOLUTION_AMBIGUITY error.
2015-03-17 23:18:34 +03:00
Denis Zharkov 682f8a3110 Use original constructor descriptor when searching cycles 2015-03-17 23:18:34 +03:00
Denis Zharkov 6c46606f2b Fix constructors redeclaration message
#KT-6966 Fixed
2015-03-17 23:18:34 +03:00
Denis Zharkov 9e5192e0e3 Prohibit val/vars/modifiers on secondary constructor parameter
#KT-6962 Fixed
2015-03-17 23:18:33 +03:00
Pavel V. Talanov dfa8fbcb0d default -> companion: Replace missed default in error message 2015-03-17 18:26:59 +03:00
Pavel V. Talanov a50b218c6a default -> companion: Replace some missed usages of "isDefault" 2015-03-17 17:10:53 +03:00
Pavel V. Talanov 94937a39be Increase ABI and stub versions 2015-03-17 15:52:41 +03:00
Pavel V. Talanov 06916d98c6 default -> companion: replace all mentions of default and default object 2015-03-17 15:47:39 +03:00
Pavel V. Talanov 2a6facaef6 default -> companion: default object -> class object in project code, builtins and libs code 2015-03-17 15:46:48 +03:00
Zalim Bashorov 5e782dd547 Switch to the new(right) API for register extension points and extensions. 2015-03-17 14:11:00 +03:00
Michael Bogdanov 11ce50f0d6 Tests for obsolete KT-6434: android compile error: local variable type mismatch
#KT-6434 Obsolete
2015-03-17 11:39:28 +03:00
Alexander Udalov 094fa2f92b Report error on using reflection without kotlin-reflect.jar in classpath
Should be a warning because strictly speaking, the codegen doesn't need it
during the compilation. It's an error at the moment only to let all clients of
Kotlin reflection know that they must include kotlin-reflect.jar in the
classpath
2015-03-16 20:40:49 +03:00
Nikolay Krasko 8c5109d819 Generate descriptor for trait constructor. Exception is thrown otherwise...
EA-38416, EA-65189, EA-60850
2015-03-16 20:16:25 +03:00
Michael Bogdanov 7d743f56ce Rollback default object to class one 2015-03-16 18:52:05 +03:00
Michael Bogdanov 90651e4b28 Do nothing if there is no smap data on anonymous object transfromation during fun inline 2015-03-16 18:52:05 +03:00
Michael Bogdanov 0999cd99e3 Inline iterator test 2015-03-16 18:52:05 +03:00