Commit Graph

5960 Commits

Author SHA1 Message Date
Andrey Breslav 42cc953aa8 Provide more services from descriptor deserializer 2013-08-23 17:38:52 +04:00
Andrey Breslav 364ed19c4b Simple implementations for lazy values and memoized functions 2013-08-23 17:38:52 +04:00
Andrey Breslav c1cef019ce More low-level constructor added 2013-08-23 17:38:52 +04:00
Andrey Breslav d4ac312142 Account for circular bounds in type parameters 2013-08-23 17:38:52 +04:00
Andrey Breslav 85dad7866d Lazy types 2013-08-23 17:38:51 +04:00
Andrey Breslav 8018f186e5 Overloaded constructor for convenience 2013-08-23 17:38:51 +04:00
Andrey Breslav 2789c2a785 Static import 2013-08-23 17:38:51 +04:00
Andrey Breslav 96db819832 Extracted IndexedSymbolTable and TypeDeserializer 2013-08-23 17:38:51 +04:00
Andrey Breslav 1e345b58f7 Serializing basic descriptors 2013-08-23 17:38:51 +04:00
Andrey Breslav a0895e9046 Serializing/Deserializing simple and qualified names 2013-08-23 17:38:50 +04:00
Andrey Breslav 099b3ffc9f Initial protobuf definition for descriptor serialization 2013-08-23 17:38:50 +04:00
Andrey Breslav e85871861a New module for descriptor serialization code 2013-08-23 17:38:50 +04:00
Andrey Breslav 187bf8abfe Avoid calling getClass() in equals(). It disturbs profiling 2013-08-23 17:38:50 +04:00
Andrey Breslav 1472499874 Utility methods moved to JetTestUtil 2013-08-23 17:38:49 +04:00
Nikolay Krasko 450d6cad3b Don't memoize exceptions in built-ins resolve session 2013-08-22 21:16:57 +04:00
Andrey Breslav 6cee65d74e A test for nesting implicitly labeled calls
The actual error message should be "return not allowed", but due to a bug in label resolution it is "unresolved reference"
2013-08-22 17:13:08 +04:00
Andrey Breslav 55eb994502 KT-3919 Automatic labeling of lambdas by receiving functions
#KT-3919 Fixed
2013-08-22 14:27:01 +04:00
Andrey Breslav 07a8dff5f4 Fix builtins dir lookup for the case where there's no directory entry in the JAR file 2013-08-22 14:02:51 +04:00
Andrey Breslav 96335b2e71 Do not look for a common supertype if there is only one type in the worklist 2013-08-22 12:18:12 +04:00
Andrey Breslav a51ea10f55 No need to produce error types when RETURN_NOT_ALLOWED_EXPLICIT_RETURN_TYPE_REQUIRED is reported 2013-08-21 20:12:05 +04:00
Andrey Breslav 3f3ee378f3 Test that local return has type Nothing 2013-08-21 20:12:05 +04:00
Andrey Breslav aa99c29d8d JVM backend test for local returns 2013-08-21 20:12:05 +04:00
Andrey Breslav 08625a6b2f Local returns are only allowed with explicitly specified return types
This is a temporary limitation: otherwise type inference is having trouble to account for all the returned expressions.
 We will fix the inference and remove the limitation
2013-08-21 20:12:04 +04:00
Andrey Breslav d97506476f Minor. Local variable renamed 2013-08-21 20:12:04 +04:00
Andrey Breslav 4138ac4e36 Support local returns in lambdas 2013-08-21 20:12:04 +04:00
Andrey Breslav 3ead1cea37 Duplicating parameters removed 2013-08-21 20:12:04 +04:00
Andrey Breslav 2c1375f948 Minor: code cleanup 2013-08-21 20:12:04 +04:00
Andrey Breslav db70087573 Labels on function literal arguments are processed properly 2013-08-21 20:12:04 +04:00
Andrey Breslav 9f90fd0938 No "unreachable code" errors when an illegal return expression is the last in a lambda 2013-08-21 20:12:04 +04:00
Andrey Breslav 34df845778 Clarifying comments for RETURN_NOT_ALLOWED 2013-08-21 20:12:03 +04:00
Nikolay Krasko b4c7122528 Move built-in files out of source directory 2013-08-21 19:52:42 +04:00
Andrey Breslav 3d28c4cdb2 Passing DataFlowInfo to local classes/objects
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:21 +04:00
Andrey Breslav 4908766813 Passing DataFlowInfo when analyzing property initializers
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:21 +04:00
Andrey Breslav 232d1cac7b Recursive generics fixed 2013-08-19 19:05:20 +04:00
Andrey Breslav 63c284e200 Passing DataFlowInfo to local classes/objects
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:20 +04:00
Andrey Breslav c95f2b78c8 Outer DataFlowInfo is passed to TopDownAnalyzer 2013-08-19 19:05:20 +04:00
Andrey Breslav 0e1ba96e2c Unused code removed 2013-08-19 19:05:20 +04:00
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