Commit Graph

10675 Commits

Author SHA1 Message Date
Denis Zharkov 18e40d034e Change contract of getDelegationCall to @NotNull
Its existence guaranteed by parser
2015-03-27 16:09:42 +03:00
Denis Zharkov 8c048c3e43 Refine recovery for constructors 2015-03-27 16:09:41 +03:00
Denis Zharkov b1de2066c7 Add quickfixes inserting explicit delegation calls
#KT-6963 Fixed
2015-03-27 16:09:41 +03:00
Denis Zharkov d0c72c2c3d Mark value arguments in case of empty delegation call
It's useful for quickfixes for these diagnostics
2015-03-27 16:09:41 +03:00
Denis Zharkov 1a2167e062 Minor, always report diagnostics on callee expression
As these kinds of diagnostic always have non-empty callee expression
2015-03-27 16:09:41 +03:00
Denis Zharkov 555f9e7c06 Minor, move isEmpty, isCallToThis to JetConstructorDelegationCall 2015-03-27 16:09:41 +03:00
Denis Zharkov 023e1a13a9 Do not try to detect cycles if delegation call resolution is unsuccessful 2015-03-27 16:09:41 +03:00
Denis Zharkov 7aa2642a2b Unify reporting resolution errors for empty delegation calls
- Always report "There is no applicable constructor for call without arguments in superclass"
  under `constructor` keyword by replacing default TracingStrategy
- Remove positioning strategy used for reporting non-applicable
  for empty delegation calls

 #KT-6971 Fixed
2015-03-27 16:09:41 +03:00
Denis Zharkov 683bc4709f Add test case: 'platformStatic' on constructors 2015-03-27 16:09:41 +03:00
Denis Zharkov ce3bf423ad Prohibit 'native' annotation on constructors
Currently doesn't work for primary ones

 #KT-7000 Fixed
2015-03-27 16:09:41 +03:00
Denis Zharkov 29b03e8175 Report illegal modifiers on secondary constructors 2015-03-27 16:09:41 +03:00
Denis Zharkov 66023e6f31 Prohibit platformName on secondary constructor
#KT-6999 Fixed
2015-03-27 16:09:41 +03:00
Denis Zharkov 8aa4e9bd94 Report error for inappropriate modifiers usages 2015-03-27 16:09:40 +03:00
Denis Zharkov 01e5ee718f Allow secondary constructors without body
#KT-6967 Fixed
2015-03-27 16:09:40 +03:00
Alexander Udalov 3f0541924f Revert "Fix byte array memory leak from MemoryBasedClassLoader"
This reverts commit 58b033d9fb.
2015-03-27 15:28:52 +03:00
Alexey Sedunov 4ec1b9971f Parser: Do not produce JetQualifiedExpression without receiver
#KT-7122 Fixed
2015-03-26 23:11:50 +03:00
Stanislav Erokhin daa437b535 Fix JetTreeVisitor for file case 2015-03-26 22:08:46 +03:00
Alexander Udalov 58b033d9fb Fix byte array memory leak from MemoryBasedClassLoader
40 Mb of bytes of preloaded compiler classes during the compilation become 16
Mb after this change
2015-03-26 21:42:05 +03:00
Pavel V. Talanov f3191a39a5 Do not store instances of Application in strong static references
Introduce ExtensionProvider which takes care of caching application using weak reference
Fixes a memory leak for scenarios with application being substituted (Jps build does that when compiling multiple modules)
2015-03-26 21:09:11 +03:00
Dmitry Jemerov 827d9d48c1 Correctly apply SAM conversions in superclass constructor calls
#KT-5452 Fixed
2015-03-26 19:03:42 +01:00
Michael Nedzelsky 2f7ebf677f JS: allow js-file in library-files for cli compiler 2015-03-26 00:22:19 +03:00
Dmitry Jemerov bb1410b20a generate more correct bytecode for casting Unit to other types 2015-03-25 17:51:04 +01:00
Pavel V. Talanov 9d618ca767 Replace OBJECT$ usages in code and test data 2015-03-25 18:28:01 +03:00
Pavel V. Talanov ed218c473a Get rid of 'class object' usages in code and builtins
Replace some comments and library usages as well
2015-03-25 18:28:00 +03:00
Dmitry Jemerov 389498eb91 Merge pull request #621 from JetBrains/rr/yole/kt4142
Regression tests for some more obsolete issues in the JVM backend
2015-03-25 13:28:38 +01:00
Dmitry Jemerov 0467bba7a6 regression test for KT-5953 2015-03-24 21:05:23 +01:00
Dmitry Jemerov f6093274ab regression test for KT-5395 2015-03-24 20:59:56 +01:00
Dmitry Jemerov 9d229ad271 regression test for KT-4259 2015-03-24 20:49:53 +01:00
Dmitry Jemerov 4f0cf2f918 regression test for obsolete issue KT-4142 2015-03-24 19:14:18 +01:00
Dmitry Jemerov 2767e789fb when generating coercion, take into account the original type of the expression 2015-03-24 18:01:56 +01:00
Alexey Sedunov 1ed2c82008 Quick-Fixes: Approximate non-denotable type with nearest denotable supertype
#KT-5915 Fixed
2015-03-24 16:41:01 +03:00
Alexey Sedunov f5107be315 Quick-Fixes: Support "Change function return type" quick-fix for non-local returns
#KT-6910 Fixed
2015-03-24 16:40:57 +03:00
Michael Nedzelsky 842eaa86a4 merge serialization.js module into js.serializer 2015-03-24 15:13:45 +03:00
Alexey Tsvetkov 5ff5cea17a JS: report error when js() produces empty AST 2015-03-23 16:43:49 +03:00
Alexey Tsvetkov b5797eb15b JS: added tests for recursion cycle in inline functions 2015-03-23 16:43:48 +03:00
Alexander Udalov 7e69a5ac9a Don't create KProperty instance for synthetic field
#KT-5759 Fixed
2015-03-23 16:30:26 +03:00
Alexander Udalov 9a041136f2 Make ClassId's relative class name FqName instead of FqNameUnsafe
It was FqNameUnsafe in times when there were classes without identifier names,
specifically class objects with names like '<class-object-for-...>'
2015-03-23 16:30:25 +03:00
Alexander Udalov 9cf0720925 Fix KClass.simpleName for local classes 2015-03-23 16:30:24 +03:00
Alexander Udalov 3335752462 Do not report "no reflection" inspection where reflection is not used
#KT-7059 Fixed
2015-03-23 15:54:33 +03:00
Zalim Bashorov d569ea5974 JS frontend: added diagnostic about secondary constructors not supported yet. 2015-03-23 13:52:56 +03:00
Alexander Udalov 06537c5b14 Clarify 'class_fq_name` field in jvm_descriptors.proto
Regenerate protobuf files with protoc 2.5.0
2015-03-23 12:21:38 +03:00
Alexander Udalov 4e7d4f9340 Fix ReplInterpreterTestGenerated locally 2015-03-23 12:21:07 +03:00
Zalim Bashorov 1b530887cd Minor: fix testdata 2015-03-20 21:23:31 +03:00
Zalim Bashorov aaa7f6d5e4 JS frontend: added diagnostic about non-toplevel classifiers are unsupported yet. 2015-03-20 21:23:31 +03:00
Zalim Bashorov 8673f95dc5 AnnotationChecker -> DeclarationChecker 2015-03-20 21:23:30 +03:00
Dmitry Jemerov 888b655cd6 add some missing elements to Kotlin grammar
#KT-7049 Fixed
2015-03-20 11:54:16 +01:00
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