Commit Graph

60 Commits

Author SHA1 Message Date
Andrey Breslav e60bd514fa StorageManager&ExceptionTracker delivered where needed
- GlobalContext introduced to group the two
- Caches track exceptions
2014-02-04 15:24:27 +04:00
Andrey Breslav a90dbc48ef Information about LockBasedStorageManager instances added to assertions 2014-02-04 15:23:14 +04:00
Andrey Breslav 0f4994f8b0 Created LockBasedStorageManagerWithExceptionTracking 2014-01-30 21:03:53 +04:00
Andrey Breslav 210827b1d5 ExceptionUtils rewritten in Kotlin 2014-01-30 21:03:53 +04:00
Andrey Breslav d0787795b6 StorageManager supports centralized exception handling 2014-01-30 21:03:52 +04:00
Andrey Breslav 5378bded1e Minor: reorder methods and constructors 2014-01-30 21:03:52 +04:00
Andrey Breslav 707255eef6 Automatic toString() for LockBasedStorageManager 2014-01-29 15:34:50 +04:00
Andrey Breslav ce1702d633 Replace a hack (Internals class) with a less-of-a-hack workaround
LockBasedLazyResolveStorageManager is put into the same package as LockBasedStorageManager
2014-01-20 23:01:19 +04:00
Andrey Breslav 8f56283771 Same storage manager used by lazy resolve session in AnalyzerFacadeForJVM and the rest of the components 2014-01-20 16:17:53 +04:00
Andrey Breslav ff6cbca797 Cryptic-looking functions (iif, eq, neq etc) removed 2014-01-15 16:16:21 +04:00
Andrey Breslav 0f9b9ed245 StorageManager rewritten to Kotlin 2014-01-15 16:14:57 +04:00
Andrey Breslav 089352b525 isError() implemented for lazy java types 2014-01-15 16:14:41 +04:00
Andrey Breslav 8dc526a5e1 isEmpty() and flatten() added 2014-01-15 16:07:38 +04:00
Andrey Breslav 65316b9fab printAndReturn() added 2014-01-15 16:07:38 +04:00
Andrey Breslav d0d77181e3 ifEmpty for collections 2014-01-15 16:07:37 +04:00
Andrey Breslav 9ace8eedf1 Resolving functions (no propagation/alternative signatures) 2014-01-15 16:07:36 +04:00
Andrey Breslav bed01b601b Annotations supported 2014-01-15 16:07:36 +04:00
Andrey Breslav 9879965407 Library functions 2014-01-15 16:07:35 +04:00
Andrey Breslav 36dd874c27 coreLib and Java collections utilities 2014-01-15 16:07:35 +04:00
Andrey Breslav 161998d2b8 Recursion detection fixed for memoized functions 2013-12-30 19:43:17 +04:00
Andrey Breslav 968e380321 Proper toString() for wrapped throwables 2013-12-30 19:29:33 +04:00
Andrey Breslav 5f20450053 Preserve exception cause in LockBasedStorageManager 2013-12-24 19:21:52 +04:00
Andrey Breslav ac191a7dbb Introduce fall-through handling of recursion in lazy values
Fixed EA-52272 - NA: LockBasedStorageManager$LockBasedLazyValue.recursionDetected
2013-12-20 18:30:10 +04:00
Andrey Breslav 44e055e698 Explicit lock references replaced with capturing StorageManager as an outer instance 2013-12-20 17:29:32 +04:00
Andrey Breslav 4ac7afbb9f Module annotations-ext removed. Annotations are moved to runtime 2013-11-21 20:47:48 +04:00
Andrey Breslav d9444fea09 printScopeStructure() introduced for debugging 2013-11-21 13:07:38 +04:00
Andrey Breslav ba8bcb2e9a Better diagnostics + basic recursion detection in memoized functions 2013-11-21 13:07:34 +04:00
Andrey Breslav 4aadf6e802 Storage manager framework uses Kotlin iterfaces 2013-11-21 13:07:34 +04:00
Andrey Breslav cd275fd814 'runtime' module replaced by 'kotlin-runtime' library 2013-10-14 14:42:25 +04:00
Andrey Breslav 00c3156b59 Use Unit instead of Void 2013-10-05 16:59:57 +04:00
Andrey Breslav 2e585f88a3 ReenteringLazyValueComputationException & co moved to frontend 2013-10-05 16:59:57 +04:00
Andrey Breslav 0765e89b19 Weakly retained memoized functions moved out of util.runtime 2013-10-05 16:59:57 +04:00
Andrey Breslav 5ebbe0d772 Get rid of dependency on guava in DFS 2013-10-05 16:59:57 +04:00
Andrey Breslav 239ca9728d StorageManager API does not use Computable and Function and more 2013-10-05 16:59:57 +04:00
Andrey Breslav 7d1c46ed2c Getting rid of Computable and Function in lazy values and memoized functions 2013-10-05 16:59:56 +04:00
Andrey Breslav 4d28dfada6 Lazy values and memoized functions conform to Kotlin's function interfaces 2013-10-05 16:59:56 +04:00
Alexander Udalov 9d7968457f JDR doesn't depend on intellij-core 2013-10-04 18:32:42 +04:00
Andrey Breslav 4cd5c66c27 No need to escape exceptions in recursionDetected() 2013-10-03 15:49:20 +04:00
Andrey Breslav db34868b6e Migrate existing code to LockBasedStorageManager.NO_LOCKS 2013-10-03 15:49:20 +04:00
Andrey Breslav aa90302d1b Tests for storage manager 2013-10-03 15:49:20 +04:00
Andrey Breslav 0591ceb7f0 Make ReenteringLazyValueComputationException debuggable in tests & internal mode 2013-10-03 15:49:20 +04:00
Andrey Breslav 5f4af8fb03 Distinguishing first and subsequent recursive calls to lazy values 2013-10-03 15:49:20 +04:00
Andrey Breslav eb20d358b0 Fall-through case removed 2013-10-03 15:49:20 +04:00
Andrey Breslav 41a73645c6 Using enum instead of Object constants 2013-10-03 15:49:20 +04:00
Andrey Breslav d7773415bf Support storage manager with no locks 2013-10-03 15:49:19 +04:00
Andrey Breslav 0c83832f27 Use ReentrantLock instead of intrinsic locks in LockBasedStorageManager 2013-10-03 15:49:19 +04:00
Andrey Breslav 344a57f2d5 isComputed() supported for lazy values 2013-10-03 15:49:19 +04:00
Andrey Breslav 7dfe1f963d Support returning default values on subsequent calls after recursion detection 2013-10-03 15:49:19 +04:00
Andrey Breslav e13063017a Exception class moved 2013-10-03 15:49:19 +04:00
Andrey Breslav 9bb77b09a3 Lazy values unified in the project 2013-10-03 15:49:19 +04:00