Dmitry Petrov
a5d6559056
KT-14360 Microoptimizations in RedundantCoercionToUnitTransformer
2016-10-17 10:13:03 +03:00
Dmitry Petrov
ac675784c1
KT-14357 Run RedundantCoercionToUnitTransformer before DeadCodeEliminatingMethodTransformer.
...
Remove empty try-catch blocks in DeadCodeEliminatingMethodTransformer.
2016-10-17 10:10:46 +03:00
Nikolay Krasko
87b628a3f7
Generate 'nop' instruction on lambda call when everything on line is going to be eliminated by inliner (KT-6477)
...
(cherry picked from commit 462bdb2)
#KT-6477 Fixed
2016-10-14 14:52:06 +03:00
Michael Bogdanov
050139220d
Fix for KT-14330 java.lang.IllegalArgumentException: Parameter specified as non-null is null: method ... parameter value
...
#KT-14330 Fixed
2016-10-14 10:56:15 +03:00
Dmitry Petrov
fbe3f1537f
Make static initializer classes for inheriting multifile class parts annotated as SYNTHETIC_CLASS.
2016-10-14 10:41:20 +03:00
Dmitry Petrov
8d634f6003
KT-14274: resolve type alias constructors calls in supertypes list as type alias constructors.
...
Support @Deprecated for type aliases, including type alias constructors.
2016-10-13 17:52:21 +03:00
Dmitry Petrov
3d0288ffed
Annotations on type aliases: generate synthetic method for type alias annotations.
2016-10-13 17:52:21 +03:00
Valentin Kipyatkov
7b12dd498f
KT-13780 No completion and assertion error in log
...
#KT-13780 Fixed
2016-10-13 15:10:53 +03:00
Dmitry Petrov
71362d6b0a
Cleanup and unify RangeCodegenUtil functions.
2016-10-13 10:11:32 +03:00
Vsevolod
e788ef408f
KT-5044 code cleanup, test added
2016-10-13 10:11:32 +03:00
Vsevolod
bd6f83b9b7
KT-5044 intrinsify all contains calls for primitive ranges from stdlib
2016-10-13 10:11:32 +03:00
Ilya Chernikov
c2b5c11781
Fix all small and medium-sized issues after review
2016-10-12 15:37:54 +02:00
Ilya Chernikov
f0d2f458e0
Fix script codegen for REPL lines with ScriptTemplate with parameters
2016-10-12 15:37:50 +02:00
Ilya Chernikov
fe69185cd4
Refactor script definition and related parts:
...
- simplify script definition interface, convert it to class
- create simple definitions right from base
- refactor (rename and simplify) script definition with annotated template
- simplify usages of script definition in many places
2016-10-12 15:37:50 +02:00
Valentin Kipyatkov
6527ada775
Changes on code review
2016-10-11 23:38:50 +03:00
Valentin Kipyatkov
147d1da1ed
Supported obtaining function type parameter names from KotlinType
2016-10-11 23:38:48 +03:00
Alexander Udalov
59b29cf00d
Minor, extract isDeprecatedHidden for usage in codegen
...
Also remove a hundred year old TODO
2016-10-11 17:30:11 +03:00
Denis Zharkov
194853b5c2
Fix backend issue related to JvmStatic val with accessor
...
Do not treat accessors to JvmStatic properties as having dispatch receiver
#KT-11585 Fixed
2016-10-11 12:22:03 +03:00
Denis Zharkov
543cf7b265
Minor. Move isJvmStatic* functions to backend
2016-10-11 12:22:03 +03:00
Mikhail Glukhikh
126304c197
Destructure intention applied (compiler)
2016-10-10 14:42:04 +03:00
Michael Bogdanov
f8e9922c9e
Don't generate generic signature for get/set methods in property reference class
2016-10-10 14:17:50 +03:00
Michael Bogdanov
5bd045c79c
Fix for KT-14243: Wrong invocation descriptor on calling implicitly generated implementation in class
...
#KT-14243 Fixed
2016-10-10 14:17:50 +03:00
Denis Zharkov
b1dc31a64e
Minor. Invert if
2016-10-10 10:44:11 +03:00
Denis Zharkov
0905bf3e38
Refine redundant null checks interpreter
...
The main change here is addition of a check that NotNullBasicValue instances
are not being created for non-reference types
Exactly this change should be used instead of f25f0db10e
The latter commit lead to problem described in the KT-14242 issue:
v.getType().getSort() == w.getType().getSort() && (v.getType().getSort() != Type.OBJECT || v.equals(w))
Problem is that the condition above returns true without calling `v.equals(w)`,
because the sort of type is ARRAY, not OBJECT, so testArray was being treated
as NotNullable erroneously
So the second part of this change is effectively revering mentioned commit
#KT-14242 Fixed
2016-10-10 10:44:11 +03:00
Denis Zharkov
2eece06d5c
Minor. Add hashCode override after existing equals
2016-10-10 10:44:11 +03:00
Alexey Andreev
aa5d15cff7
KT-2752: minor fixes after code review
2016-10-08 19:25:43 +03:00
Denis Zharkov
dfb9b323ff
Avoid generation of redundant abstract special stubs
...
#KT-13698 Fixed
2016-10-07 11:59:15 +03:00
Denis Zharkov
6e838f0adc
Avoid generation of redundant toArray stubs
...
#KT-13698 In Progress
2016-10-07 11:59:15 +03:00
Denis Zharkov
e05e0ec921
Optimize method count for collection stubs
...
Do not generate stubs if they're already present in superclasses
#KT-13698 In Progress
2016-10-07 11:59:15 +03:00
Denis Zharkov
900c442efd
Write generic signature for autogenerated toArray
...
#KT-14195 Fixed
2016-10-07 11:59:15 +03:00
Denis Zharkov
3a100d4139
Improve exception message in collection stubs
2016-10-07 11:59:15 +03:00
Denis Zharkov
8ee568105c
Do not generate collection stubs for Kotlin-specific signatures
...
#KT-14188 Fixed
2016-10-07 11:59:15 +03:00
Denis Zharkov
d2de4579de
Minor. Extract computation of collection mutable stub list
...
It's necessary in the next commits to obtain these signatures
without actually emitting any code
2016-10-07 11:59:15 +03:00
Mikhail Glukhikh
e7d290f726
Refactor PSI for destructuring declarations in for: they are now children of KtParameter and not instead of it
2016-10-06 21:03:19 +03:00
Alexander Udalov
53b584f48c
Simplify usages of IncrementalPackageFragment and related code
...
Since its scope is now empty, no descriptor now has a container that is an
instance of IncrementalPackageFragment -> a lot of code is not needed anymore
2016-10-05 11:24:30 +03:00
Alexander Udalov
7c6352a9f2
Refactor IncrementalPackageFragmentProvider
2016-10-05 11:24:30 +03:00
Dmitry Jemerov
d8b0c7aaec
Binding trace filtering: do not calculate diagnostics if no one is going to query them
2016-10-04 18:50:30 +02:00
Dmitry Jemerov
b365e547c4
DelegatingBindingTrace: remove unnecessary secondary constructor
2016-10-04 18:50:30 +02:00
Denis Zharkov
a4978c794f
Fix accidental overrides computation
...
Consider the whole overridden tree instead of only direct overridden
#KT-14146 Fixed
2016-10-04 16:47:10 +03:00
Alexander Udalov
597912824b
Report error on declaring 'getClass' in class or package
...
#KT-14147 Fixed
2016-10-04 10:24:01 +03:00
Michael Bogdanov
1eac6d47ed
GenerationState in TypeMapper replaced with boolean flag
2016-10-03 14:13:17 +03:00
Michael Bogdanov
95a1c254e1
Added error diagnostic on inheriting target 6 interface
2016-10-03 14:13:17 +03:00
Michael Bogdanov
d9bb519b76
Don't generate delegation to jvm8 default methods
2016-10-03 14:06:01 +03:00
Michael Bogdanov
c19e035f91
Properly map super calls in typeMapper
2016-10-03 14:06:00 +03:00
Michael Bogdanov
5f1f4a067d
Map proper owner for method with default args
2016-10-03 14:06:00 +03:00
Michael Bogdanov
0390cd6ee1
Added GenerationState to KotlinTypeMapper
2016-10-03 14:05:59 +03:00
Michael Bogdanov
dd4d5e3aa1
Generate 'DefaultImpls' for jvm 8 target only within compiler option
2016-10-03 14:05:59 +03:00
Michael Bogdanov
ca41f01468
Generate interface property annotations in interface class (not in DefaultImpls)
2016-10-03 13:50:12 +03:00
Michael Bogdanov
dfd5be1a33
Generate all bodies in interfaces as default methods
2016-10-03 13:50:11 +03:00
Michael Bogdanov
fb48f70273
Move 'generateMethod' to 'codegenUtil.kt' file
2016-10-03 13:47:09 +03:00