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
Ilya Gorbunov
84ca26719d
Deprecate meaningless or vague-defined operations with Char operands.
...
Change expected test output.
2015-05-27 00:58:35 +03:00
Alexey Sedunov
b6ea2d4fd4
Control-Flow: Compute type predicates for arguments of unresolved calls
2015-05-26 19:29:04 +03:00
Alexey Sedunov
3d3b5591e1
Control-Flow: Improve debug text of ReadValueInstruction
2015-05-26 19:28:09 +03:00
Alexey Sedunov
868329e3cb
Control-Flow: Fix pseudocode generation for combined get/set and invoke conventions
...
#KT-4462 Fixed
#KT-4681 Fixed
2015-05-26 19:28:07 +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
Mikhail Glukhikh
5723c2a077
Front-end fix: result type corrected for increment / decrement expressions. Smart cast allowed on a postfix increment result. See KT-7561.
...
Now result type is receiver type for postfix increment, or increment result type for prefix increment.
A set of relevant tests.
2015-05-26 15:20:25 +03:00
Alexander Udalov
ea6d0b464d
Report error when free function is called as extension
2015-05-26 15:05:04 +03:00
Svetlana Isakova
14c2690447
Distinguish between no declared arguments and an empty argument list
...
in a function literal
If there are no arguments, any number of them might be expected
2015-05-26 15:05:03 +03:00
Alexander Udalov
4d00077ffb
Delete assertion on receiver presence in 'invoke'
...
#KT-6541 Fixed
#KT-7383 Fixed
2015-05-26 15:04:59 +03:00
Alexander Udalov
6a0a703539
Delete numbered ExtensionFunction classes and generation logic
2015-05-26 15:04:57 +03:00
Alexander Udalov
2186ce5e8d
Degrade CFG test on values of extension function type
...
Apparently type annotations ('kotlin.extension' in particular) are lost
somewhere in control-flow values processor at the moment, so types may not be
as precise as they were when functions and extension functions had different
classifiers.
This test presumably only affects IDE functionality like 'Extract Method' in a
way that it will suggest a slightly incorrect function type for the parameter
of an extracted method. An issue is to be reported and fixed later upon demand
2015-05-26 15:04:56 +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
Alexander Udalov
b574c1d205
Move 23 function classes to package kotlin.jvm.functions, drop KFunction*
2015-05-26 14:27:41 +03:00
Alexander Udalov
f6178ad7dd
Introduce Function, KFunction interfaces and 'extension' annotation
2015-05-26 14:27:40 +03:00
Alexander Udalov
90097d7e8b
Move callable reference diagnostic tests to non-stdlib
2015-05-26 14:27:40 +03:00
Alexander Udalov
51684b3fe1
Drop "Reflection types not loaded" diagnostic
...
Reflection types are now considered to be built-in, so their absence means the
runtime is broken and the compiler can't work at all; this condition probably
should be handled on another level for all built-in types
2015-05-26 14:27:39 +03:00
Alexander Udalov
45c28abfee
Keep built-in metadata for reflection interfaces
...
Reflection interfaces (interfaces in kotlin.reflect.* in core/builtins/) are
now fully considered as built-ins and can be accessed via KotlinBuiltIns. This
increases runtime size by ~20kb, but only because KotlinBuiltIns is static and
is therefore constructed only via resource loading from the compiler classpath
at the moment. As soon as it's possible to inject KotlinBuiltIns to the
particular resolution process, the metadata on JVM will be loaded via standard
annotation mechanism (kotlin.jvm.internal.KotlinClass/KotlinPackage) and wasted
runtime space will be reclaimed
2015-05-26 14:27:38 +03:00
Ilya Gorbunov
1cf4a407d1
JS: Provide MIN_VALUE and MAX_VALUE member constants for Double and Float companion objects.
...
JVM: Make MIN_VALUE and MAX_VALUE not an extension but member constant properties of Double and Float companion objects.
2015-05-26 00:26:19 +03:00
Mikhail Glukhikh
3c7225e83a
An implementation of KT-7753: now enum constructors cannot be called explicitly.
...
Several tests are provided.
#KT-7753 Fixed.
2015-05-25 17:27:31 +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
Mikhail Glukhikh
babb7e58bc
Implementation of KT-6399: platform types under when are now counted as not nullable but warning is generated. #KT-6399 Fixed.
...
A set of tests. Warning about Java enum nullable argument under when in particular situations.
2015-05-22 18:38:30 +03:00
Alexey Sedunov
b1f1360081
PSI: Make JetPostfixExpression.getBaseExpression() nullable
...
#KT-7761 Fixed
2015-05-21 19:29:49 +03:00
Mikhail Glukhikh
c8aa6defb6
Data flow information is no longer dropped while analyzing object literal expression. #KT-6293 Fixed. #KT-7110 Fixed.
...
A set of tests for KT-6293 / KT-7110 provided.
2015-05-21 13:03:39 +03:00
Michael Bogdanov
5bca1d3c8f
Added dianostic error for non-local return on disabled inlines,
...
Render bytecode diagnostics in BytecodeToolWindow
#KT-5584 Fixed
2015-05-21 10:06:03 +03:00
Michael Bogdanov
ef4981b0ef
Report error on indirect inline cycles
2015-05-21 10:06:02 +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
4abaa54d0e
Test for obsolete KT-4869: Report error when inline parameter is passed to a function variable
...
#KT-4869 Obsolete
2015-05-21 10:06:01 +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
Michael Nedzelsky
bfc641caba
JS: fix tests for -meta-info
2015-05-21 02:30:57 +03:00
Michael Nedzelsky
572ce47c25
add tests for serializaion of nested classes and objects (builtins and js)
2015-05-21 02:30:38 +03:00
Denis Zharkov
6df805d6f2
Refine diagnostics reported on implicit constructor delegation call
...
- Do not report anything else if primary's call expected
- Do not repeat EXPLICIT_DELEGATION_CALL_REQUIRED
#KT-7230 Fixed
2015-05-20 09:24:57 +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
e078eaf15b
Resolve annotations on lambda's descriptor
...
Also add test checking functional expression
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
Denis Zharkov
2deb7faf05
Deprecate function expressions with names
2015-05-20 09:24:56 +03:00
Denis Zharkov
aa1548a83b
Report obsolete labels syntax deprecation on objects
...
#KT-7771 Fixed
2015-05-20 09:24:56 +03:00
Denis Zharkov
5297b4974f
Adjust descriptor renderer to latest parsing changes
...
- `constructor` keyword expected in primary constructor with non-empty modifier list
- annotation list should be preceeded by '@'
2015-05-20 09:24:56 +03:00
Denis Zharkov
dd14b36921
Prohibit unescaped annotations on primary constructor of local class
2015-05-20 09:24:56 +03:00
Denis Zharkov
89337ff51e
Change deprecation rules for annotations in brackets
...
Also adjust quickfix for deprecated syntax
2015-05-20 09:24:56 +03:00
Denis Zharkov
e4f54b5d2e
Parsing: support '@[ann1 ann2]', '@file:ann' and '@file:[ann]' cases
2015-05-20 09:24:56 +03:00
Denis Zharkov
f6aadec7e2
Minor, rename tests onFile -> onFileObsolete
2015-05-20 09:24:56 +03:00
Denis Zharkov
083966389a
Minor, get rid of repeating parsing semantics
2015-05-20 09:24:55 +03:00
Denis Zharkov
aa4a20dddc
Add missing 'constructor' to testData when it was necessary
2015-05-20 09:24:55 +03:00
Denis Zharkov
09cae59f0a
Report warning on modifier list of primary ctor unless 'constructor' keyword specified
2015-05-20 09:24:54 +03:00
Denis Zharkov
805a811d91
Change parsing rules for primary constructor
...
- Parse 'constructor' keyword before value arguments
- Allow unescaped annotations
2015-05-20 09:24:54 +03:00
Denis Zharkov
d058a07ce2
Parsing: allow semicolon between declarations
2015-05-20 09:24:54 +03:00
Valentin Kipyatkov
7edff172a2
KT-1273 Unused assignment - should highlight assignment instead of expression
...
#KT-1273 Fixed
2015-05-19 23:45:59 +03:00