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
dnpetrov
046189087a
KT-5963 Call to super shouldn't require type specification if there is no conflict
...
Implemented unqualified 'super' type resolution (in BasicExpressionTypingVisitor).
No overload resolution of any kind is involved.
Corresponding supertype is determined by the expected member name only:
- 'super.foo(...)' - function or property (of possibly callable type) 'foo'
- 'super.x' - property 'x'
Supertype should provide a non-abstract implementation of such member.
As a fall-back solution for diagnostics purposes, consider supertypes with abstract implementation of such member.
Diagnostics:
- AMBIGUOUS_SUPER on 'super', if multiple possible supertypes are available;
- ABSTRACT_SUPER_CALL on selector expression, if the only available implementation is abstract.
#KT-5963 Fixed
2015-06-18 14:16:34 +03:00
Alexander Udalov
1a3209e1dc
Drop traits with required classes
...
#KT-4771 Rejected
2015-06-17 16:23:58 +03:00
Alexander Udalov
98ce0d529c
Fix incorrect 'original' in property accessors
...
#KT-3930 Fixed
2015-06-17 16:23:56 +03:00
Alexander Udalov
4dcc373a5a
Fix concrete method inheritance in interfaces
...
For each non-abstract non-declared (i.e. inherited from supertypes) method in
an interface we generate its static form to the TImpl, which calls the TImpl
method from the corresponding supertype.
The accidental override tests changed because we're now trying to generate the
delegate for the super method, not knowing that it will clash with the declared
method
#KT-2888 Fixed
#KT-5393 Fixed
2015-06-17 16:23:56 +03:00
dnpetrov
c369949d90
KT-6136 VerifyError on data class inheriting from trait
...
- coerce property values to proper data class component types
- add tests
#KT-6136 Fixed
2015-06-16 09:58:03 +03:00
Denis Zharkov
e3c3af6aab
Change MISSING_CONSTRUCTOR_KEYWORD severity to error
...
And adjust testData
2015-06-12 11:23:13 +03:00
Denis Zharkov
c9f79c2d05
Adjust testData: get rid of obsolete annotations
2015-06-12 09:23:31 +03:00
Michael Bogdanov
dee26957d1
Tests for obsolete KT-4798, KT-7288, KT-7046
...
#KT-4798 Obsolete
#KT-7288 Obsolete
#KT-7046 Obsolete
2015-06-04 16:28:08 +03:00
Denis Zharkov
9802931a90
Remove variables with empty ranges from local vars table
...
As their ranges may intersect after dead code elimination that leads to VerifyError
2015-06-04 16:11:02 +03:00
Michael Bogdanov
83f04501be
Remove error diagnostic from return in multideclaration
...
#KT-5100 Fixed
2015-06-04 12:01:59 +03:00