Denis Zharkov
2f4b8dab25
Minor. Replace 'filter' with 'any'
2016-02-25 08:31:19 +03:00
Michael Bogdanov
b20f49a2c4
Default body compilation for inline fun extracted from InlineCodegen to separate one
2016-02-24 14:06:29 +03:00
Michael Bogdanov
f149f16882
Separately process inline function default impl body compilation (non general inline magic),
...
Fix for KT-10670 Debugger: Evaluate Expression/Watches fail for inline function parameter initialized with default value
#KT-10670 Fixed
2016-02-24 14:06:29 +03:00
Michael Bogdanov
7bfb5a0c60
InliningInstructionAdapter refactoring: renamed to MethodBodyVisitor, added additional empty owerrides
2016-02-24 14:06:28 +03:00
Alexander Udalov
c71c344b8a
Fix NCDFE on primitive iterators during boxing optimization
...
The real fix is in ProgressionIteratorBasicValue's constructor, other changes
are refactorings
#KT-11153 Fixed
2016-02-22 19:49:39 +03:00
Alexander Udalov
1b8f934b54
Delete deprecated enum 'values' property
2016-02-19 22:28:44 +03:00
Michael Bogdanov
1d17bee6cc
Don't generate source mapping on inlining 'InlineOnly' functions
2016-02-19 16:08:03 +03:00
Michael Bogdanov
6f1def9366
isInlineOnly renamed to isInlineOnlyOrReified
2016-02-19 16:08:02 +03:00
Dmitry Petrov
30c2abba3c
KT-9550: distinguish signature conflict on override from signature conflict of inherited members.
...
Add a common OverridingStrategy class for cases where we don't care (yet) about precise diagnostics.
2016-02-19 15:59:08 +03:00
Michael Bogdanov
405c21a17e
Fix for KT-11081: Reified type parameters are lost in anonymous object in inline function when using default value parameters
...
#KT-11081 Fixed
2016-02-19 14:22:29 +03:00
Alexander Udalov
36de3008e3
Fix visibility flags for lambda classes in InnerClasses attribute
2016-02-19 12:52:40 +03:00
Denis Zharkov
bc5110550a
Release generated bytecode after each processed part
...
Part here means separate '.kt' file or multi-file facade
Now this memory optimization doesn't work with jar's,
because there is no simple way to write them incrementally.
2016-02-18 21:22:04 +03:00
Denis Zharkov
fd32b8dd19
Minor. Transform method to void
2016-02-18 21:22:04 +03:00
Denis Zharkov
cecb998fd3
Simplify ClassFileFactory state
...
Before this change it contained maps to complex object,
after it retains only necessary information:
- sources files for package parts
- PackageParts objects grouped by package fq name
Both of them needed for writing module mappings
2016-02-18 21:22:04 +03:00
Denis Zharkov
f8f996b2f6
Minor. Move 'done()' call into MultifileClassCodegen itself
2016-02-18 21:22:03 +03:00
Michael Bogdanov
0283fea835
Optimize recursive string concatenation
2016-02-17 16:53:19 +03:00
Michael Bogdanov
8835b0599a
Inline preevaluated string and primitive only constants in compilation time, don't inline const references in non-annotation context, fix for KT-11025: Don't inline const val in compare instuctions
...
#KT-11025 Fixed
2016-02-17 16:53:18 +03:00
Natalia Ukhorskaya
42927bb078
Make function delegated to sam adapter synthetic
2016-02-17 15:08:53 +03:00
Michael Bogdanov
384d2ea0d1
Use bipush, sipush for byte and short constants
2016-02-12 11:55:21 +03:00
Anton Sukhonosenko
0073257841
Fix for KT-10313: ClassCastException with Generics
...
#KT-10313 Fixed
2016-02-12 10:53:28 +03:00
Pavel V. Talanov
7d98103c0c
overriddenDescriptors is empty for java static property and function declarations
...
Fake overrides are still created for java static with non-empty overriddenDescriptors
Add tests for inheriting visibility for java static members
Add test: check that java static declarations that shadow deprecated declarations should not be deprecated
Add test for corner case where "overriding" java static constant led to incorrect type in inheritor
Fix test data for existing tests
2016-02-11 14:08:14 +03:00
Pavel V. Talanov
7e78e8d8ab
Refactor: Move and rename OverridingUtil.DescriptorSink -> OverridingStrategy
2016-02-11 14:08:13 +03:00
Denis Zharkov
12552d2fc1
Refine special bridges generation
...
#KT-10958 Fixed
2016-02-10 20:18:46 +03:00
Denis Zharkov
6d98909c7a
Minor. Add not-nullable upper bound
2016-02-10 20:18:46 +03:00
Denis Zharkov
45bf300144
Minor. Rename variables
2016-02-10 20:18:46 +03:00
Denis Zharkov
0fb565851f
Minor. Extract function
2016-02-10 20:18:46 +03:00
Denis Zharkov
8592a57be4
Drop unnecessary check and corresponding parameter
2016-02-10 20:18:46 +03:00
Denis Zharkov
0b37d032c8
Minor. Split complicated conditions
2016-02-10 20:18:46 +03:00
Michael Bogdanov
0f90dc1649
Code clean and some refactorings in 'getLambdaIfExistsAndMarkInstructions'
2016-02-09 10:19:16 +03:00
Michael Bogdanov
c75b514551
Get rid of InstructionsAndFrames.kt
2016-02-09 10:19:15 +03:00
Michael Bogdanov
b8ee2ecdac
Support extension lambda inlining in complex stack cases (nullable receiver)
2016-02-09 10:19:15 +03:00
Denis Zharkov
c879f83037
Fix primitive types mapping
...
Use boxed version if type was enhaced to not-nullable
2016-02-08 16:40:47 +03:00
Denis Zharkov
18e7272a1e
Do not force overridden descriptors computation
...
Currently 'overriddenDescriptors' of substituted function is lazy
and in most cases it's unnecessary to compute it
(it's enough to use the same field from 'original')
2016-02-08 16:40:47 +03:00
Denis Zharkov
fae6de9acd
Replace 'addOverriddenDescriptor' with 'setOverriddenDescriptors'
...
It helps to get rid of redundant SmartSets (e.g. for top-level functions)
2016-02-08 16:40:47 +03:00
Michael Bogdanov
848549dd5d
Rollback "Fix for KT-10659: Debugger: Evaluate Expression and Watches fail for inline function parameter passed by reference"
2016-02-08 16:43:22 +03:00
Pavel V. Talanov
9e5c387d6c
PropertyCodegen: Diagnose descriptor not found for property
2016-02-08 16:18:36 +03:00
Alexander Udalov
2f5a6ac465
Minor, add extra constant to JvmAnnotationNames, drop unneeded utility
2016-02-06 15:53:55 +05:30
Alexander Udalov
5de1cf3bb4
Do not write old metadata annotations to bytecode
2016-02-06 15:53:55 +05:30
Denis Zharkov
0efe28a12a
Do not inline non-const vals
...
#KT-10425 Fixed
2016-02-05 17:43:55 +03:00
Michael Bogdanov
bc2077bfaf
More wise lambda search during inlining
2016-02-05 15:42:46 +03:00
Denis Zharkov
16f412f993
Generate multi-files facade even if it's empty
...
It still contains useful information about it's parts,
that may be used while building stubs for multi-file group
containing only InlineOnly functions
2016-02-05 15:02:24 +03:00
Denis Zharkov
889b136a68
Refine multi-file facades generation
...
Do not generate delegation from multi-file facade to inline-only functions
because they are effectively private in bytecode
#KT-10858 Fixed
2016-02-05 15:02:24 +03:00
Dmitry Petrov
b5145ea68b
Use implementation part class for SMAP generation when inlining function both from binaries and sources.
2016-02-04 10:17:30 +03:00
Michael Bogdanov
71c2a6e792
Generate package private visibility in bytecode for private classes
2016-02-03 10:32:41 +03:00
Dmitry Petrov
bad8320038
Fix for KT-10881 Declaring constant in a mutlifile class causes an IllegalAccessError on its usage.
...
Generate fields for 'const' properties in facade class.
NB reading annotations for 'const' vals in multifile class doesn't work, KT-10892.
2016-02-02 15:06:21 +03:00
Dmitry Jemerov
970d6f6834
generate local variables table for @JvmOverloads-generated methods
...
#KT-7319 Fixed
2016-02-02 12:11:51 +01:00
Ilya Gorbunov
3ae4c033b6
Wrap exceptions thrown by class builders and add details about class file being generated.
2016-02-01 19:59:06 +03:00
Michael Bogdanov
5f38c1d571
Fix for KT-10729: Accessing private const field in companion object from a function in the same companion generates run-time error
2016-02-01 18:42:19 +03:00
Michael Bogdanov
328b9bfeda
Removed old default generation
2016-02-01 18:32:12 +03:00
Mikhail Glukhikh
84100abd9e
Annotations on object literals are now correctly resolved #KT-9320 Fixed
2016-02-01 16:24:57 +03:00