Commit Graph

1212 Commits

Author SHA1 Message Date
dnpetrov 50ea67ba13 KT-5524 Support [platformName] annotation for class members
@platformName is now supported for final non-overriding class member functions
(including property accessors).
Front-end provides diagnostics for inapplicable annotation cases.
Code generation updated:
- ignore kotlin.platform.platformName annotation for Java class methods;
- bridges generation generates proper JVM declarations in case of methods renamed with @platformName.
@platformName-related tests added.

#KT-5524 Fixed
2015-06-04 17:54:08 +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
Michael Bogdanov 2377a10007 Fix labeling processing on inlining: suport labeled literals
#KT-7273 Fixed
2015-06-03 14:42:57 +03:00
Pavel V. Talanov d2592e4a2c Companion objects have public visibility by default
#KT-7114 Fixed
2015-06-02 16:23:03 +03:00
Alexander Udalov 596d378962 Fix abstract method error: implement arity in function references 2015-06-01 19:23:09 +03:00
Alexander Udalov 28addcf8e7 Do not generate annotations of method parameters on its $default synthetic method
#KT-7892 Fixed
2015-06-01 19:23:08 +03:00
Alexander Udalov df4d5a3ae2 Fix initialization order of enum entries and companion
#KT-5761 Fixed
2015-06-01 19:23:08 +03:00
Zalim Bashorov f3f799aab5 Fix secondary constructor tests for JS -- use non-zero fracitional part 2015-05-28 10:25:12 +03:00
Zalim Bashorov 3fe363e72b Minor: split test to access to companion and to nested object 2015-05-28 10:25:11 +03:00
Zalim Bashorov dc1b91eacd JS: prepare tests for secondary constructors 2015-05-28 10:24:48 +03:00
Michael Bogdanov e20a5121c7 Support private package properties in inline functions 2015-05-27 18:09:40 +03:00
Dmitry Jemerov 1188e57597 rename @overloads annotation to @jvmOverloads 2015-05-27 12:23:08 +02:00
Alexander Udalov 6ae7ed1cc4 Add some new tests on functions and extension functions 2015-05-27 01:44:19 +03:00
Mikhail Glukhikh 4570872bfd Postfix expression code generation fixed as per KT-7561.
A set of tests for KT-7561 on codegen side, including exotic inc() functions().
 #KT-7561 Fixed.
2015-05-26 15:20:37 +03:00
Alexander Udalov 49004a8b8e Conform functions to extension functions and vice versa
#KT-5989 Fixed
2015-05-26 15:04:56 +03:00
Alexander Udalov 4141e0a8df Introduce fictitious numbered Function class descriptors 2015-05-26 15:04:54 +03:00
Michael Bogdanov 8cf21f24cd Fix for KT-7792: Invalid class file generation: java.lang.ClassFormatError: Invalid length 65522 in LocalVariableTable in class file
#KT-7792 Fixed
2015-05-25 17:06:18 +03:00
Michael Bogdanov a671d684c9 Test for obsolete KT-5199: IllegalArgumentException with non local return in lambda
#KT-5199 Obsolete
2015-05-21 10:06:02 +03:00
Michael Bogdanov 319c5aec60 Fix for KT-7557: NoSuchMethodError when capturing receiver in object expression
#KT-7557 Fixed
   #KT-7769 Fixed
2015-05-21 10:06:01 +03:00
Denis Zharkov e98b9ea84e Save annotations of lambda on SAM's method
Also add tests checking that annotations on 'invoke' methods of common lambdas are saved properly

 #KT-6932 Fixed
2015-05-20 09:24:57 +03:00
Denis Zharkov fd4946e552 Annotate $default-method with same annotations as original
#KT-6930 Fixed
2015-05-20 09:24:57 +03:00
Alexander Udalov 189286efee Support platformStatic members in companion object of enums
#KT-7777 Fixed
2015-05-19 18:47:00 +03:00
Michael Bogdanov 58183731f5 Test for obsolete KT-5448: VerifyError with mismatched stack types
#KT-5448 Obsolete
2015-05-18 15:28:58 +03:00
Michael Bogdanov 5cb9671803 Support inlining in scripts and outer expression capturing
#KT-7744 Fixed
2015-05-18 14:47:57 +03:00
Michael Bogdanov 226350b4ba Test data fixed: replace trait with interface 2015-05-18 11:57:39 +03:00
Michael Bogdanov 5daf79d2de Tests for obsolete KT-5232: vfy error with default parameter in method of trait
#KT-5232 Obsolete
2015-05-15 18:06:52 +03:00
Michael Bogdanov f1eb68c55a Test for obsolete KT-3579: UsupportedOperationException while trying to compile recursive trait
#KT-3579 Obsolete
2015-05-15 18:06:52 +03:00
Michael Bogdanov eb8d2d695c Test for non-general case of KT-4174 2015-05-15 18:06:51 +03:00
Michael Bogdanov 576ead2afe Test for obsolete KT-3698: Static fields of primitive types and String must be compile-time constants
#KT-3698 Obsolete
2015-05-15 18:06:51 +03:00
Mikhail Glukhikh 147bca3d22 Enum deprecated syntax detection implemented and integrated into DeclarationsChecker.
A lot of tests was changed to refactor deprecated syntax. Six new tests were added to check deprecated syntax detection.
Diagnostic for "enum entry uses deprecated super constructor": constructor is highlighted
Diagnostic for "enum entry uses deprecated or no delimiter".
One warning removed.
2015-05-15 16:13:34 +03:00
Mikhail Glukhikh 1a312140e9 New enum syntax: Short constructor syntax introduced for entries, optional commas between entries, semicolon after entries. #KT-7605 Fixed.
Grammar changed accordingly.
Semicolons prohibited after an entry except the last one.
Only one initializer is allowed per entry.
EnumReferenceExpression AST node introduced.
Some tests fixed, a pair of new tests written. Kotlin code inside project fixed.
Formatter and intendation tests fixed accordingly.
Stub version is incremented.
2015-05-15 16:13:32 +03:00
Mikhail Glukhikh cf741cb868 Enum parsing changed: first entries, then members. Grammar fixed accordingly.
A set of compiler tests and some plugin tests changed accordingly.
Compiler Kotlin code changed accordingly.
2015-05-15 16:13:27 +03:00
Michael Bogdanov 99cad4b43f Support default method invocation via super
#KT-5970 Fixed
2015-05-13 14:52:18 +03:00
Michael Bogdanov 3fbdf05921 Added some new test for java8 2015-05-13 14:52:18 +03:00
Dmitry Jemerov 4bdf598bfe compiler testdata: s/trait/interface 2015-05-12 19:43:17 +02:00
Dmitry Jemerov 9975bb8935 replace 'trait' keyword with 'interface' in user-visible messages and code generation tools 2015-05-12 11:49:37 +02:00
Michael Bogdanov d6964525b2 Fix for KT-7490: Bad bytecode generated by delegates and lambdas
#KT-7490 Fixed
2015-05-12 12:06:11 +03:00
Denis Zharkov 849b8acbf8 Replace annotations with brackets in testData
Just in tests that changed after deprecation
2015-05-07 22:36:16 +03:00
Natalia Ukhorskaya 9108d87a57 Add warning for division by zero:
#KT-5529 fixed
2015-05-07 15:41:37 +03:00
Michael Bogdanov e0aa64b8d2 Support functional expression in non-local returns 2015-05-05 12:47:56 +03:00
Denis Zharkov 44a55e5bf6 Adjust testData to new labels syntax 2015-04-29 14:03:11 +03:00
Michael Bogdanov 0854c601b4 Fix non local returns to functional expressions 2015-04-24 18:54:09 +03:00
Alexander Udalov 0dec1eaaad Refactor RuntimeTypeMapper, extract IntrinsicObjects-related behavior
Make it similar to other JavaToKotlinClassMapBuilder implementations to be able
to get rid of that inheritance
2015-04-24 02:09:04 +03:00
Alexander Udalov 07c2442405 Make $default methods non-private, avoid generating accessors for them
#KT-5786 Fixed
2015-04-23 22:09:02 +03:00
Michael Bogdanov 53b8a1d56e Fix for KT-7544: Backend fails when inlining nested calls with reified type parameter and default value parameter
#KT-7544 Fixed
2015-04-23 15:41:59 +03:00
Denis Zharkov 29bf24b7d3 Use properties of Java annotations in codegen tests
Retain obsolete versions until support for methods in Java annotations is dropped
2015-04-23 08:27:42 +03:00
Zalim Bashorov 1ef9b9db1f JS backend: add the support function expression
#KT-7242 Fixed
2015-04-22 12:48:22 +03:00
Zalim Bashorov 02071c5bdd Minor: move function expression tests to separate directory 2015-04-22 12:48:21 +03:00