Commit Graph

5723 Commits

Author SHA1 Message Date
Mikhael Bogdanov 185b5013fe Properly process nested try and loop blocks
KT-3894: Loops and finally: finally block executed twice when break and return exists in try/finally block
KT-3874: Compilation error on try catch block contains break and continue
KT-3869: Loops and finally: outer finally block not run

 #KT-3869 Fixed
 #KT-3894 Fixed
 #KT-3874 Fixed
2013-08-19 16:06:56 +04:00
Mikhael Bogdanov d0f042ba93 Properly generate exception table for try/catch block
KT-3549 'Finally' block not run when re-throwing exception
KT-3867 When catched exception occurs in finnaly block it invokes additional catch and itself

  #KT-3549 Fixed
  #KT-3867 Fixed
2013-08-19 16:06:56 +04:00
Nikolay Krasko e984ce2aa8 Introduce method for getting element with context for better error reports 2013-08-19 14:44:30 +04:00
Nikolay Krasko a4f452a943 Refactoring: Introduce EMPTY AnalyzeExhaust constant 2013-08-15 19:04:43 +04:00
Nikolay Krasko 73308378e5 Add ability to test jet file is in scope 2013-08-14 15:31:16 +04:00
Nikolay Krasko 388f365900 Cache resolve session under OUT_OF_BLOCK_MODIFICATION_TRACKER 2013-08-14 15:31:14 +04:00
Mikhael Bogdanov c9215ed8a5 KT-2784 VerifyError when passing a value to a class object's super type constructor
#KT-2784 Fixed
2013-08-12 18:58:09 +04:00
Zalim Bashorov b46e0361c5 Use the system path separator character in compiler messages.
Fix for CliTest.
2013-08-12 13:37:44 +04:00
Andrey Breslav be8045a392 Adding info to an exception 2013-08-12 13:24:20 +04:00
Evgeny Gerashchenko 3f7627120b KT-3853 ISE on resolving function implementation from trait from Java
The fix is simple and dirty, because the related code will be removed soon anyways. Fix is necessary for compiling Kara.

 #KT-3853 fixed
2013-08-08 21:39:25 +04:00
Nikolay Krasko 9205c0251e Cache result of resolveElement requests 2013-08-08 00:37:46 +04:00
Nikolay Krasko 8d06a72157 Store exception caught during computation as a result and rethrow it 2013-08-08 00:37:45 +04:00
Nikolay Krasko ca675290a8 Allow to monitor only thread name 2013-08-08 00:37:45 +04:00
Nikolay Krasko bee3295f34 Fix tracking slices 2013-08-08 00:37:44 +04:00
Nikolay Krasko e402c4d527 Guard creation of LazyClassDescriptor with lock to avoid getting 'this' in invalid state 2013-08-08 00:37:42 +04:00
Nikolay Krasko 70ae9e589c Generate only final fields for injectors - make the access thread-safe 2013-08-08 00:37:42 +04:00
Nikolay Krasko 14247ea2ab Guard construction of imports index under common lock 2013-08-08 00:37:41 +04:00
Nikolay Krasko fbe1491ad4 Lock based binding context 2013-08-08 00:37:40 +04:00
Mikhael Bogdanov 8a4b01d9c6 KT-3702: Inner class constructor cannot be invoked in override function with receiver
KT-3532: NoSuchMethodError when constructing Java inner class
KT-3847: Class is not recognized as inner when loaded from binaries

 #KT-3702 Fixed
 #KT-3532 Fixed
 #KT-3847 Fixed
2013-08-06 10:58:27 +04:00
Natalia.Ukhorskaya 8e45bb7657 Fix wrong generated class name invoking inner objects from another module 2013-08-06 10:17:25 +04:00
Natalia.Ukhorskaya acf8c88cfc Java property as annotation parameter 2013-08-02 18:59:29 +04:00
Natalia.Ukhorskaya e792238cbe Boolean as annotation parameter (java) 2013-08-02 18:59:27 +04:00
Natalia.Ukhorskaya 064f114b25 Allow top-level properties or properties from class object as annotation parameters 2013-08-02 18:59:26 +04:00
Natalia.Ukhorskaya 27801d5351 Add test: primitive values as annotation parameter 2013-08-02 18:59:25 +04:00
Evgeny Gerashchenko 7f62b9259c KT-3820 VerifyError when invoking intrinsic for range obtained from collection
#KT-3820 fixed
2013-07-31 15:54:45 -07:00
Evgeny Gerashchenko 1e10712802 Minor. Added 'final'. 2013-07-31 15:54:45 -07:00
Alexey Sedunov 203e80debe Implement "Safe Delete" refactoring for type parameters
Conflicts:
	idea/src/org/jetbrains/jet/plugin/refactoring/safeDelete/KotlinSafeDeleteProcessor.java

Conflicts:
	generators/org/jetbrains/jet/generators/tests/GenerateTests.java

Conflicts:
	generators/org/jetbrains/jet/generators/tests/GenerateTests.java
2013-07-29 19:24:53 +04:00
Alexey Sedunov 639336b2f5 Implement "Safe Delete" refactoring for properties 2013-07-29 19:24:13 +04:00
Alexey Sedunov 9c60637ef3 Implement delete() for light methods 2013-07-29 19:15:09 +04:00
Nikolay Krasko 7ec170f6ec Fix absence of reference for type parameters 2013-07-29 18:20:09 +04:00
Natalia.Ukhorskaya b3f0a23c1d Fix android test: cannot change package name 2013-07-29 11:36:47 +04:00
Nikolay Krasko 2b0232307c Fix error on getting descriptor for class object 2013-07-27 03:57:30 +04:00
Nikolay Krasko 400906db7c Add lock for all additional resolve 2013-07-27 03:57:30 +04:00
Nikolay Krasko 93aa711a65 Always return delegated trace 2013-07-27 03:57:29 +04:00
Nikolay Krasko f3bd514f16 Thread safe lazy import scope 2013-07-27 03:57:28 +04:00
Nikolay Krasko d62ad79232 Create thread-safe traces 2013-07-27 03:57:27 +04:00
Nikolay Krasko 37f2168c38 Refactoring: use interface instead of class 2013-07-27 03:57:26 +04:00
Nikolay Krasko b0b173eb5a Resolve descriptors in error class objects 2013-07-27 03:57:24 +04:00
Nikolay Krasko a69b2883ee Make resolve session be able to resolve class parameters 2013-07-27 03:57:23 +04:00
Nikolay Krasko f8e3275861 Make additional resolution work for descriptors 2013-07-27 03:57:22 +04:00
Nikolay Krasko 51f690ed4d Refactor additional resolve for reference in packages 2013-07-27 03:57:21 +04:00
Nikolay Krasko c2e8282fb9 Make type parameter name be always notnull
Fix java.lang.AssertionError: @NotNull method org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyTypeParameterDescriptor.getName must not return null
2013-07-27 03:57:21 +04:00
Nikolay Krasko 9167e4f1ee Make resolve session be able to resolve class constructor parameters 2013-07-27 03:57:20 +04:00
Nikolay Krasko 27efc3b202 Additional resolve for annotations in lazy resolve 2013-07-27 03:57:18 +04:00
Nikolay Krasko ab4452a508 Refactoring: method rename resolveToExpression -> resolveToElement 2013-07-27 03:57:18 +04:00
Nikolay Krasko b6be094724 Force resolve imports for elements in imports 2013-07-27 03:57:17 +04:00
Nikolay Krasko 32b04531f6 Store information about package declaration in context
This information is used for resolving references in plugin
2013-07-27 03:57:16 +04:00
Nikolay Krasko 970586bfdd Use directive configuring in resolve reference tests 2013-07-27 03:57:10 +04:00
Nikolay Krasko 68bd7405ff Refactoring: remove warning 2013-07-27 03:57:09 +04:00
Nikolay Krasko ca1c13054a Refactoring: Remove not-null warnings 2013-07-27 03:57:06 +04:00