Commit Graph

435 Commits

Author SHA1 Message Date
Michael Bogdanov 7fe71d21f3 Initialize class companion object fields on accessing its java class 2015-10-09 16:25:16 +03:00
Denis Zharkov e9cd9db2a7 Adjust testData after contains transformation 2015-10-09 14:40:34 +03:00
Denis Zharkov 35783f129b Generate INSTANCEOF barrier in bridges for Collection.contains 2015-10-09 14:40:33 +03:00
Michael Bogdanov 882f6113dc Initial internal member mangling 2015-10-07 18:10:54 +03:00
Yan Zhulanow 1b01e7a85a Fix tests ('infix') 2015-10-07 15:50:23 +03:00
Mikhail Glukhikh fff434d377 data + open / inner / abstract / sealed are now forbidden 2015-10-07 15:13:14 +03:00
Mikhail Glukhikh cba6870f52 protected & internal are now forbidden in interfaces 2015-10-07 11:57:14 +03:00
Mikhail Glukhikh 846d7cac69 protected is deprecated inside objects and forbidden inside annotations and enum entries 2015-10-07 10:21:11 +03:00
Denis Zharkov 6a1566a6dc Make JVM backend work with Collection.size as val
0. Such properties are called special because their accessor JVM name differs from usual one
1. When making call to such property, always choose special name
2. When generating Kotlin class inheriting such property generate `final bridge int size() { return this.getSize(); }`
3. If there is no `size` declaration in current class generate `bridge int getSize() { // super-call }`
2015-10-07 08:46:35 +03:00
Denis Zharkov 252c82abe3 Generate bridges for FAKE_OVERRIDE properties
The same way it's done for function, just call generateBridges for accessors

 #KT-9442 Fixed
2015-10-07 08:46:34 +03:00
Denis Zharkov c21d827326 Adjust various testData to size transformation 2015-10-07 08:46:34 +03:00
Dmitry Jemerov 7c20630272 diagnostics for deprecated syntax of function type parameter list 2015-10-06 16:20:47 +02:00
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