Mikhail Zarechenskiy
7af10769c9
Enable control flow checks for functions without body
...
Except checks for tail recursive calls
#KT-7796 Fixed
2017-04-27 15:50:18 +03:00
Mikhail Zarechenskiy
a0d7b703f4
Align generic signature for inner classes to work as in Java
...
#KT-10397 Fixed
According to JVMS (p. 4.3.4) inner classes should be separated with `$` in generic signature.
Note that in Java, inner types separated with `.` after first parameterized type, and now we preserve the same behaviour. See tests for clarification.
2017-04-27 15:47:28 +03:00
Mikhail Glukhikh
14e798a1fc
Take imported from object descriptor into account in pseudocode
...
So #KT-15566 Fixed
2017-04-27 15:27:41 +03:00
Alexander Udalov
056eebf69c
Update list of excluded directories in root module
2017-04-27 12:38:01 +03:00
Ilya Matveev
935d42f8ac
Ignore explicitEqualsOnDouble.kt box-test for native backend
2017-04-27 14:55:32 +07:00
Dmitry Jemerov
75a1e8f0a2
Don't show hint for parameter with explicitly specified type
2017-04-26 18:23:45 +02:00
Dmitry Jemerov
7973e033a9
Initial tests for type hints; don't show hint when type is obvious
2017-04-26 18:23:41 +02:00
Dmitry Jemerov
d1cdd6d8ed
Separate logic for argument name hints and type hints
2017-04-26 18:23:16 +02:00
Dmitry Jemerov
108e97b70e
Show parameter hints for ambiguous calls
2017-04-26 18:21:19 +02:00
Dmitry Jemerov
26445397bb
Add varargs tests; show ... before vararg arguments
2017-04-26 18:09:13 +02:00
Dmitry Jemerov
c9639f6ae0
Port some Java tests for parameter hints; fix detected issues
...
Show hints for string templates; correctly apply blacklist for
constructor calls
2017-04-26 18:09:13 +02:00
Dmitry Jemerov
760e43d4f1
Include in MethodInfo only names of arguments actually in the call
...
Needed to apply blacklist for e.g. startsWith more correctly.
2017-04-26 18:09:13 +02:00
Dmitry Jemerov
aad79f4d63
Fix blacklist application by returning parameter names correctly
2017-04-26 18:09:13 +02:00
Dmitry Jemerov
d8f16c0464
Disable inlay type hints by default
2017-04-26 18:09:12 +02:00
Dmitry Jemerov
6cda992204
Separate options for showing types of local vars and properties
2017-04-26 18:09:12 +02:00
Dmitry Jemerov
0132b643ec
Show function return type hint in the end of parameter list
2017-04-26 18:09:12 +02:00
Dmitry Jemerov
8508b8b397
Show parameter hints only before unclear expressions, as in Java
2017-04-26 18:09:12 +02:00
fitermay
8b3f8ce750
Inlay param/type support for kotlin
2017-04-26 18:09:12 +02:00
Vyacheslav Gerasimov
49c8dfbb06
Add gutter icons for Android resource references
...
#KT-16843 Fixed
2017-04-26 18:38:29 +03:00
Vyacheslav Gerasimov
386ec53dd5
Update AndroidTestCase to AS 2.3 + Android tests refactoring
2017-04-26 18:38:29 +03:00
Alexander Udalov
e2c62cbded
Support serialization of built-in ranges as error types
...
This will be needed to move ranges and progressions out of builtins.
Currently they're only used in signatures of "rangeTo" functions on
primitives
2017-04-26 18:10:54 +03:00
Alexander Udalov
f648f0235c
Move ErrorUtils.ErrorTypeImpl to top level ErrorType and J2K
2017-04-26 18:10:53 +03:00
Alexander Udalov
38ea9986ab
Make KotlinType.isError extension instead of member
2017-04-26 18:10:49 +03:00
Mikhail Glukhikh
787a32f4f1
KT-17408 related: fix of two broken tests
2017-04-26 17:31:46 +03:00
Stanislav Erokhin
dce373b807
Create special data flow info for ControlStructure. It will be used in new inference for special calls.
2017-04-26 13:47:53 +03:00
Stanislav Erokhin
dbe867e2c0
Minor. Change upper bound for collection of given candidates.
2017-04-26 13:47:52 +03:00
Stanislav Erokhin
1af733da05
Added isAllowedTypeVariable inside KotlinTypeChecker
2017-04-26 13:47:51 +03:00
Stanislav Erokhin
53ccfcf195
Add util functions getKPropertyType for both receivers and isNumberedKFunction
2017-04-26 13:47:50 +03:00
Stanislav Erokhin
22e667ad65
Removed generic hell from tower resolver
2017-04-26 13:47:49 +03:00
Stanislav Erokhin
863b9f7603
Minor. Change parameter type from Set to Collection.
2017-04-26 13:47:48 +03:00
Stanislav Erokhin
83a82cdd04
Refactoring. Remove descriptor from resolution Candidate.
2017-04-26 13:47:47 +03:00
Zalim Bashorov
794e65b5d6
KJS: remove Rhino library
2017-04-26 13:07:35 +03:00
Zalim Bashorov
fb1c4320b6
KJS: check hashCode property only for objects to avoid extra boxing for primitive values
...
Also in Nashorn everything has hashCode including primitive types,
so the result can be different at Nashorn and at other engines.
2017-04-26 13:07:34 +03:00
Zalim Bashorov
678d2e7c21
KJS: transform labeled blocks to labeled do-while
...
It's a workaround for JDK-8177691.
Such code can appear during inline.
2017-04-26 13:07:33 +03:00
Zalim Bashorov
76fa6ad5c2
KJS: switch to using Nashorn instead of Rhino for JS backend tests
2017-04-26 13:07:30 +03:00
Dmitry Petrov
a39a0abb2a
Traverse store-load chains for POP instructions
...
POP instructions can be only live usages for functional parameters,
e.g., when corresponding invoke is in dead code (KT-17591).
2017-04-26 12:42:45 +03:00
Dmitry Petrov
fe571a7dfa
Normalize local returns before other inlining transformations
...
Local returns normalization can generate POP instructions.
These POP instructions can drop functional parameters, as in KT-17590,
and should be processed in markPlacesForInlineAndRemoveInlinable just
as other POP instructions.
KT-17590 conditional return in inline function parameter argument causes compilation exception
2017-04-26 12:42:33 +03:00
Dmitry Petrov
996a08a3f7
Add tests with loop in store-load chains on noinline function parameters
2017-04-26 12:42:33 +03:00
Dmitry Petrov
e1731373d8
Do not restore stack in default handler for try-finally
...
It never terminates, so the corresponding value on stack can't be used.
However, if this happens in an inlined lambda argument, the inliner is
unable to remove the corresponding ALOAD instruction (because default
handler never terminates, and thus corresponding ALOAD is not used for
lambda invocation).
KT-17573 try-finally expression in inlined function parameter argument fails with VerifyError
2017-04-26 12:42:33 +03:00
Dmitry Petrov
e91f4cf65a
Print generated text to System.err in failed DxChecker.check
...
Otherwise it can mix with exception from test.
2017-04-26 12:42:33 +03:00
Dmitry Petrov
08fb9c2122
Traverse multiple store-load chains for inlined lambda parameters
...
When a try-catch expression is passed as an argument to the inline
lambda parameter, lambda variable on stack is spilled and restored in
several different locations (1 for try-block, 1 for each catch-blocks).
So it's possible that lambda to be invoked comes from multiple loads,
all of which should have the same "root" lambda parameter.
2017-04-26 12:42:33 +03:00
Dmitry Petrov
441be56a40
During inlining, remove POP instructions popping inlined lambdas
...
In cases like KT-17384, where 'break' or 'continue' happens in an argument
to an inlined lambda call, fix-stack transformation sees corresponding
ALOAD for lambda, and inserts corresponding POP instruction before jump.
However, this ALOAD is later removed during inlining.
So, we should also remove the related POP instructions.
2017-04-26 12:42:33 +03:00
Alexey Andreev
38aecb14a2
Improve Number.hashCode implementation in JavaScript
...
Fix KT-13577
2017-04-26 11:52:54 +03:00
Vyacheslav Gerasimov
c0542f7dc0
Remove from changelog items about multiplatform
2017-04-26 11:29:45 +03:00
Dmitry Neverov
f84c5b0339
Do not suggest 'Convert to secondary constructor' for annotation classes
...
#KT-17408 Fixed
2017-04-26 06:37:30 +02:00
Zalim Bashorov
d5867c1ee3
Changes in list of files which size is printed for TeamCity statistics
...
Fix path to kotlin.meta.js;
Add kotlin-test.js to list.
2017-04-25 22:40:16 +03:00
Vyacheslav Gerasimov
a8227461f1
Prettify changelog for 1.1.2 again
2017-04-25 17:29:19 +03:00
Vyacheslav Gerasimov
3c1ff566c5
Prettify changelog for 1.1.2
2017-04-25 16:57:01 +03:00
Kirill Rakhman
76507caf4b
Add intention to convert concatenation to raw string #KT-17503 Fixed
2017-04-25 16:43:52 +03:00
Alexey Tsvetkov
50085722d1
Fix internal visibility check for deserialized typealiases
...
#KT-15495 fixed
2017-04-25 16:27:23 +03:00