Pavel V. Talanov
37d5c4b223
Allow to import members from object by name
...
Wrap object members so they do not require dispatch receiver
Hack jvm backend to make it work
2015-10-06 16:31:21 +03:00
Michael Nedzelsky
483110332c
fix KT-431 Prohibit safe calls on namespaces, super etc
...
#KT-431 Fixed
2015-10-05 13:14:42 +03:00
Michael Bogdanov
cd78514b76
Code clean, small refactorings and tests
...
#KT-8987 Fixed
2015-10-03 10:53:22 +03:00
Michael Bogdanov
1f2b9ce72b
Addded DefaultCallMask class and extended interface for argument generation
2015-10-03 10:53:12 +03:00
Dmitry Petrov
6cb0e5151c
KT-9377 Support is-checks for read-only collections
...
Intrinsics for is/as/as? with mutable Kotlin collections and related types.
2015-10-02 15:17:00 +03:00
Yan Zhulanow
cc2d005984
Make lateinit diagnostics more clear
2015-09-25 19:51:06 +03:00
Yan Zhulanow
6db9344659
Fix compiler tests
2015-09-25 19:20:20 +03:00
Denis Zharkov
3f6cadf9b7
Change FUNCTION_EXPRESSION_WITH_NAME severity to ERROR
...
Also drop deprecation related parts and get rid of usages of this `feature` within testData
2015-09-25 08:29:26 +03:00
Michael Bogdanov
cf57d56ab3
Don't generate private members in interface
2015-09-24 12:00:18 +03:00
Michael Bogdanov
2e6b56691c
Fix for: KT-8089 NoSuchFieldError
...
#KT-8089 Fixed
2015-09-24 09:36:46 +03:00
Dmitry Jemerov
4ca434da54
remove support for 'trait' keyword
2015-09-22 15:00:24 +02:00
Mikhail Glukhikh
a1e3471d92
"field": deprecated warnings introduced, compiler tests migrated to the new syntax
2015-09-21 15:48:00 +03:00
Mikhail Glukhikh
9f640b00d9
"field": synthetic variable creation in accessors, codegen changed accordingly, a set of tests, relevant code fix (j2k)
2015-09-21 15:47:49 +03:00
Denis Zharkov
9dada595b6
Replace deprecated annotations with modifiers in testData
2015-09-18 10:14:41 +03:00
Denis Zharkov
4850fd10f0
Regenerate test data containing rendered descriptors
...
Introduced '@' after each annotation
2015-09-18 10:14:39 +03:00
Denis Zharkov
bae3320d52
Get rid of deprecated annotations in testData
2015-09-18 10:14:32 +03:00
Alexander Udalov
a1a2adf523
Fix inheritance from protected members of interfaces
...
#KT-3029 Fixed
2015-09-10 15:42:58 +03:00
Denis Zharkov
676ca86ea4
Deprecate escaped modifiers and unescaped annotations
2015-09-08 12:11:30 +03:00
Michael Nedzelsky
e6e6b20885
fix tests in org.jetbrains.kotlin.js.test.semantics for secondary constructors: TODO: fix problem and remove this commit
2015-09-08 02:06:23 +03:00
Michael Nedzelsky
a40c80e90b
fix tests in org.jetbrains.kotlin.codegen.generated
2015-09-08 02:05:09 +03:00
Michael Nedzelsky
bc5c9065d2
fix tests in org.jetbrains.kotlin.checkers
2015-09-08 02:04:32 +03:00
Yan Zhulanow
4ca127ecb3
Create custom exception for lateinit
2015-09-05 00:54:20 +03:00
Yan Zhulanow
fc3bf3cca4
Implement lateinit in backend
2015-09-05 00:54:19 +03:00
Denis Zharkov
9254b1b461
Deprecate tailRecursive in favor of tailrec
2015-09-04 17:23:26 +03:00
Denis Zharkov
bbc192fda5
Deprecate suppress annotation in favor of Suppress
2015-09-04 17:23:25 +03:00
Denis Zharkov
11fed1674e
Deprecate extension annotation in favor of Extension
2015-09-04 17:23:25 +03:00
Mikhail Glukhikh
fa292ec0e0
Enum entries now can have no initializer if default secondary constructor is available. #KT-8484 Fixed
2015-09-02 18:23:07 +03:00
Alexander Udalov
9882e86ecb
Don't render contents of enum entry classes in .txt tests, regenerate tests
...
They are irrelevant because cannot be accessed from the outside anyway
2015-08-28 21:11:06 +03:00
Alexander Udalov
9095fa2844
Make PropertyMetadataImpl a data class
...
To allow property delegates to use property metadata as a key in the hash map,
and to improve debugging experience
2015-08-24 01:29:57 +03:00
Dmitry Petrov
b59bf6227f
unqualified super: should be able to invoke methods of Any without extra hassle
...
when Any is an implicit immediate superclass
2015-08-12 12:14:14 +03:00
Mikhail Glukhikh
b2653ad1e9
Deprecated enum syntax removed: most compiler tests
2015-08-10 16:24:12 +03:00
Mikhail Glukhikh
5b31560808
x?.y is now nullable even if y is Unit + three tests + codegen test fix + source code fix #KT-7936 Fixed #KT-8347 Fixed
2015-08-05 12:26:01 +03:00
Mikhail Glukhikh
4bd48c4796
Regular modifier checker implemented (initial version). A set of tests fixed accordingly.
...
Most of modifier diagnostic is expressed by REDUNDANT_MODIFIER, INCOMPATIBLE_MODIFIERS, REPEATED_MODIFIER, WRONG_MODIFIER_TARGET, WRONG_MODIFIER_PARENT.
A set of modifier diagnostics is not in use now (but not deleted yet).
2015-08-03 19:41:50 +03:00
Dmitry Petrov
a64f1a86c0
Fix KT-8608: Compiler crashes with assertion Restore stack is unavailable
...
- fix SAVE_STACK_BEFORE_TRY insertion:
TRYCATCHBLOCK LA, LB, LC
LA
NOP
try_body
LB
...
LC
handler_body
should be transformed into:
LA
{SAVE_STACK_BEFORE_TRY}
LA' // new TCB start label
NOP
try_body
LB
...
LC
handler_body
with all TCBs start labels remapped
- properly wrap exceptions from MandatoryMethodTransformer
#KT-8608 Fixed
2015-07-27 10:40:14 +03:00
Pavel V. Talanov
4e0d2bc23c
CompileTimeConstantUtils: use getConstant instead of evaluate
...
Hacky way to avoid passing builtins into this code
2015-07-21 20:52:43 +03:00
Ilya Gorbunov
4ad6a8e301
Ensure type of a stack value is coerced to the expected return type after the binary operation instruction with the different return type.
2015-07-13 17:27:37 +03:00
Alexander Udalov
4de2c5a5c8
Don't generate default no-args constructor for enums
...
#KT-8438 Fixed
2015-07-13 11:59:35 +03:00
Denis Zharkov
a218c1359f
Adjust testData: JDK collections behave like non-platform in backend
...
Some of that changes looks like regression and should be fixed soon
2015-07-09 16:36:48 +03:00
Denis Zharkov
cfadda8061
Fix codegen tests after types enhancement
2015-07-09 16:36:44 +03:00
Dmitry Petrov
4e42cc6b81
Save/restore stack in try-expressions (and statements).
...
Parse TryCatchBlockNode's in generated bytecode, infer stack save/restore points.
Save stack to local variables before 'try'.
Restore stack after the beginning of try-block, catch-block, and default handler.
Integrate before/after inline markers rewriting (otherwise it'll break our stacks).
#KT-3309 Fixed
2015-07-07 12:16:29 +03:00
Ilya Gorbunov
456bab40d1
Ensure value of correct return type is on stack after intrinsic Char +/- Int and Char - Char binary operations.
2015-07-06 17:57:33 +03:00
Ilya Gorbunov
222d4002ac
Add char binary operations to JVM codegen tests.
2015-07-06 17:57:25 +03:00
Alexander Udalov
cb03f0df5a
Fix casts of Unit value to other types
2015-07-06 16:14:06 +03:00
Ilya Gorbunov
39b27751df
Drop deprecated char operations: correct test data.
2015-07-04 04:46:23 +03:00
Mikhail Glukhikh
6e2395471d
Sealed code generation: sealed is considered abstract, correct serialization
...
A pair of tests provided.
2015-06-25 19:07:23 +03:00
dnpetrov
f364d23ee9
KT-5347 VerifyError on local data class with closure
...
- generated copy() should push captured fields on stack
- refactor context lookup
- handle vars in local classes using instance fields
#KT-5347 Fixed
2015-06-25 17:52:30 +03:00
dnpetrov
c24e6b5698
Support 'break' and 'continue' in expressions
...
- generate fake jump instructions so that we can always analyze stack depths
- fix stack before break and continue by dropping excessive elements (e.g., *a*.foo(*b*, c?:continue))
- Analyzer rewritten in Kotlin, with more flexible control of CFG traversal
#Fixed KT-3340
#Fixed KT-4258
#Fixed KT-7941
2015-06-25 17:40:55 +03:00
Mikhail Glukhikh
5fabb962ae
Private constructors are now accessed via synthetic constructor with DEFAULT_CONSTRUCTOR_MARKER as an additional argument #KT-6299 Fixed
...
A set of tests provided. Some external tests fixed accordingly.
Companion object creation changed accordingly.
Derived classes now can use base class with the private constructor.
Refactoring of AccessorForFunctionDescriptor.
2015-06-24 12:30:11 +03:00
Michael Bogdanov
93c5a52d13
Updated exception table generation: try block return moved to uncatched interval
...
#KT-8148 Fixed
2015-06-24 09:48:55 +03:00
dnpetrov
36ae8790a1
KT-8011 Compiler crashes on attempt to create local class inside lambda
...
- use StackValue from upper-level context if local lookup fails
#KT-8011 Fixed
2015-06-18 17:40:24 +03:00