Commit Graph

5414 Commits

Author SHA1 Message Date
Mikhail Glukhikh 771fb0ace2 Compiler warning on identical enum constant / is type entries #KT-4829 Fixed 2016-04-20 12:21:31 +03:00
Dmitry Petrov 420c7a0285 KT-11111:
- override by a final inline fun is a warning
- override by a fun with reified type parameters is an error
2016-04-20 11:59:03 +03:00
Yan Zhulanow 9b1402d804 Fix "No error on increment or augmented assignment when 'get' is an operator but 'set' is not" #KT-11300 2016-04-19 19:24:38 +03:00
Alexander Udalov 9c99152126 Do not consider error results successful in '::' LHS resolution
Fixes EA-81649
2016-04-19 18:37:02 +03:00
Alexander Udalov 4706d4eaea Minor, restructure parsing test case for '::' 2016-04-19 18:28:24 +03:00
Dmitry Petrov e441f0509f KT-11943 Do not use intrinsic 'java' property if receiver type is not acceptable 2016-04-19 10:31:30 +03:00
Nikolay Krasko 5396a68e71 Enable tests in generators module 2016-04-14 14:40:30 +03:00
Dmitry Petrov 511a7e0072 KT-11645 generate backing field for 'private const val' in part implementation class 2016-04-14 09:31:29 +03:00
Alexander Udalov 59d73e716c Fix memory leak in StdlibTest 2016-04-12 20:03:51 +03:00
Alexander Udalov a8629b3836 Do not fail on unknown -X flags
For better compatibility if we add experimental stuff in 1.0.X compilers
2016-04-12 20:03:51 +03:00
Michael Bogdanov be999ca4cb Write proper start label for parameters of inline function default implementation 2016-04-12 15:31:49 +03:00
Nikolay Krasko 598f48a8cf Add tests for checking dependant modules for compiler-tests 2016-04-12 14:53:18 +03:00
Dmitry Petrov 1f3323ed32 KT-11750 Do not report REDECLARATION on descriptors which are not available in sources. 2016-04-11 09:13:07 +03:00
Alexey Sedunov a30b4140de [RESTORED] Misc: Configure IDEA Ultimate dependencies 2016-04-08 21:07:23 +03:00
Nikolay Krasko 47c7181f2a Extract tests-common module without any actual tests
The main reasoning for the module is to avoid running any compiler tests while executing run configuration that searches tests across module dependencies.
2016-04-08 17:40:38 +03:00
Dmitry Petrov aca7050656 KT-11499 Normalize stacks on return from an inline function when the function is inlined at call site. 2016-04-08 14:52:55 +03:00
Michael Bogdanov a6044c81ff Write proper start label for loop parameter 2016-04-08 14:32:51 +03:00
Alexander Udalov 7c90fbe4de Compute return type for property getters more safely
Do not call `isError()` on property's type right after creation of
PropertyGetterDescriptor because the property has no getter yet (it's created
but not yet stored to the property, that happens a bit later), and `isError()`
leads to computation of the delegate type, which for delegated properties
performs some complex resolution (see `VariableTypeResolver#process`) which
relies on the fact that the property already has a getter.

Since the purpose of the original change (883e2e4d) was to support a quick fix
which would add the type to a property in an expression like "val x get() =
...", check the type (or initializer) presence in the PSI instead, this is
safer and is still suitable for the quick fix.

Also fix arguments to "wrong getter type" diagnostic: previously something
useless like "expected Int, actual Int" was reported

 #KT-11809 Fixed
2016-04-07 15:35:58 +03:00
Dmitry Petrov f1b061d662 Optimize coercion to Unit.
POP operations are backward-propagated.

Operation can't be transformed if its result is moved within stack
(by DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, or SWAP).

Unnecessary operations are replaced with NOPs (for debugger).
Unnecessary NOPs are removed.

KT-9922 Suboptimal generation for simple safe call with unused return value
KT-11116 Optimize methods returning Unit
2016-04-07 11:40:58 +03:00
Alexander Udalov c4a568efff Minor, add test cases for obsolete protected-related issues 2016-04-07 00:07:11 +03:00
Nikolay Krasko 4b22685dc5 Change asm library path 2016-04-06 14:20:53 +03:00
Dmitry Jemerov 01b0cfb552 don't parse lines starting with @ as KDoc tags if they're inside a Markdown code fence
#KT-11789 Fixed
2016-04-05 19:48:51 +02:00
Michael Bogdanov dec53c8d6c Fix for KT-11762: "VerifyError: Bad local variable type" caused by explicit loop variable type
#KT-11762 Fixed
2016-04-05 13:37:10 +03:00
Nikolay Krasko 554b7d9618 Reset application to null after test in KotlinTestWithEnvironment 2016-04-05 00:42:06 +03:00
Nikolay Krasko fdf7a3325d Clean up copied code. Remove comments and unused code. 2016-04-05 00:39:46 +03:00
Nikolay Krasko 9fd5568425 Uncomment and move AntTaskJsTest test to js module 2016-04-05 00:39:46 +03:00
Nikolay Krasko 4f7257ab66 Remove dependency to idea.jar in compiler tets to continue running them with JDK 1.6 2016-04-05 00:39:46 +03:00
Nikolay Krasko ed6aaa1138 Remove temp directories in tests
There's new algo for temp file creation that starting to fail after ~1000 files have been created.
2016-04-05 00:39:46 +03:00
Nikolay Krasko 6291bb92bd Create own disposable for building separated modules
There's a new check that assert disposer hasn't be disposed yet.
2016-04-05 00:39:46 +03:00
Stanislav Erokhin 832f468b13 KT-11733 Cannot infer type parameter in SAM with nullability annotations
#KT-11733 Fixed
2016-04-04 15:31:30 +03:00
Michael Bogdanov e0adfd453f Fix for KT-11677: Generic type signatures for local classes in inlined lambdas are not written properly
#KT-11677 Fixed
2016-04-04 12:07:47 +03:00
Michael Bogdanov f5166b7aef Support test directives in inline tests 2016-04-04 12:07:46 +03:00
Dmitry Petrov db58ebc4b2 KT-11410: Class hierarchy for parts/facade of multi-file class.
Preserve static initialization semantics for parts by introducing a special "clinit trigger" class.
Insert "static initialization trigger" call to every method of a part class, remove this call on inline.
Always mangle names for private functions in multifile class parts to avoid resolution clashes on inheritance.

NB in codegen tests initializers for all non-const vals are wrapped in 'run { ... }',
so that the initializer is not a constant expression, and some static initialization code should be generated.
2016-04-01 10:13:22 +03:00
Dmitry Petrov 095cbea125 KOTLIN_CONFIGURATION_FLAGS directive for passing compiler configuration parameters to tests.
So far, only boolean flags are supported.
2016-04-01 10:13:21 +03:00
Pavel V. Talanov d7dc122298 KT-11721 Wrong "Typechecker has run into recursive problem" on calling kotlin get function as synthetic property
#KT-11721 Fixed
2016-03-31 19:33:04 +03:00
Denis Zharkov 1511a03027 Fix SAM adapters substitution
Approximate sourceFunction types if it's needed

 #KT-11696 Fixed
2016-03-31 14:52:12 +03:00
Denis Zharkov bc1b34a989 Add additional visibility check for synthetic extensions
Use extension receiver as dispatch one, because it is effectively dispatch
(after some desugaring)
2016-03-31 14:51:57 +03:00
Denis Zharkov 92be4aee9c Prohibit protected constructor calls that are not super-calls in subtypes
#KT-11649 Fixed
2016-03-31 14:51:57 +03:00
Denis Zharkov 5056c43975 Do not check receiver for protected constructor calls
Checks for protected constructors should be performed manually,
because they are rather complex
2016-03-31 14:51:57 +03:00
Denis Zharkov 5bf336474d Respect receiver-dependent visibility when selecting smart-cast type 2016-03-31 14:51:57 +03:00
Denis Zharkov 935355ad2f Refine isVisible for protected visibility
#KT-7437 Fixed
 #KT-7971 Fixed
 #KT-7051 Fixed
 #KT-6125 Fixed
 #KT-6186 Fixed
2016-03-31 14:51:57 +03:00
Pavel V. Talanov f40a04c5a2 Refactor light elements
KtLightElement#delegate -> clsDelegate, KtLightElement#origin -> kotlinOrigin and make them properties
KtLightClassForDecompiledDeclaration stores KtClsFile
KtLightField stores LightMemberOrigin
2016-03-30 21:35:22 +03:00
Mikhail Glukhikh b7e8f71367 Fix of getCorrespondingLoop for complex loop / try-finally trees #KT-8246 Fixed 2016-03-30 18:49:23 +03:00
Alexey Sedunov 3603d873cd [REVERTED] 8e7e3a3 Alexey Sedunov on 3/10/2016 at 16:58 (committed on 3/24/2016 at 18:42)
Misc: Configure IDEA Ultimate dependencies
2016-03-29 19:17:12 +03:00
Alexey Sedunov 9070aa882d [REVERTED] 161d11d Alexey Sedunov on 3/18/2016 at 14:00 (committed on 3/24/2016 at 18:42)
Spring Support: Test framework
2016-03-29 19:17:10 +03:00
Alexander Udalov f31dca32a4 Flush stdout and stderr before shutdown in scripts
Although a test is present, it doesn't check the behavior because it seems that
in the test environment both streams are necessarily flushed

 #KT-9546 Fixed
2016-03-29 17:53:18 +03:00
Ilya Gorbunov 25abdf9fdb Tests for declaration mappings dumping from compiler 2016-03-29 13:49:36 +03:00
Alexander Udalov a8bebeb48d Load annotations of const properties from multifile classes
Rework backing field generation logic in PropertyCodegen to switch the
ClassBuilder instance for a multifile part to that of the corresponding facade
class. This became needed because multifile parts, and their metadata, are
generated _before_ the multifile facade class and otherwise we would never
record that there's a synthetic '$annotations' method for a const val and would
not write that to the protobuf message for the property.

See also bad83200

 #KT-10892 Fixed
2016-03-28 21:11:14 +03:00
Alexander Udalov 6924d883eb Support reflection calls to multifile class members
#KT-11447 Fixed
2016-03-28 21:11:14 +03:00
Alexander Udalov a8e6a9c828 Minor, add JDK to multi-module Java analysis test 2016-03-28 14:14:55 +03:00