Commit Graph

164 Commits

Author SHA1 Message Date
Alexander Udalov 9fd698db36 Fix NPE in StorageManager on sanitizing stack trace
This could happen when running the compiler from the command line, where
MemoryBasedClassLoader is used which does not ever create Package instances.
2016-10-07 20:13:23 +03:00
Nikolay Krasko cb32bc97dd Remove logging in LockBasedStorageManager creation as it all the same useless
HEAD - 3 leads to "org.jetbrains.kotlin.storage.LockBasedStorageManager.createWithExceptionHandling(LockBasedStorageManager.java:65)" debug string
2016-09-21 15:54:42 +03:00
Denis Zharkov 8ee5f3de8f Minor. Use ArrayList instead of LinkedHashSet
Looks like there's no duplicates anyway
2016-09-09 10:27:35 +03:00
Stanislav Erokhin 6556cde329 Introduce new type checker. 2016-07-21 16:07:16 +03:00
Alexander Udalov d04624cfe9 Minor, refactor KotlinToJVMBytecodeCompiler#compileModules 2016-05-26 11:47:30 +03:00
Mikhail Glukhikh 733f3e8025 Code cleanup: type parameters can have in / out variance 2016-05-13 17:57:02 +03:00
Denis Zharkov c30c695a18 Use cache for custom ClassDescriptors
Otherwise new ones are being created for each request, and their member scope is recomputed
2016-05-04 14:58:05 +03:00
Denis Zharkov 594fa02a9c Optimize memory usage by LockBasedStorageManager inner classes
Change all inner classes to be 'static'
Use explicit reference to StorageManager instead of
implicit reference to outer class.

The main problem of inner classes here is that outer instance
is being captured at each inheritance level, so e.g. some lazy value impls
may store up to three duplicating references.
2016-05-04 14:58:05 +03:00
Denis Zharkov 1efed64014 Use JVM signatures instead of FQ-names for additional built-ins 2016-04-25 17:41:08 +03:00
Denis Zharkov 8cf29ea4f3 Extract JVM descriptors type mapping from backend to core
Also unbind it from ASM types
2016-04-25 17:41:08 +03:00
Denis Zharkov 5bc5722051 Load additional JDK functions into built-ins member scope
#KT-5990 Fixed
 #KT-7127 Fixed
 #KT-10370 Fixed
2016-04-25 17:41:08 +03:00
Alexander Udalov 027cc898e7 Minor, fix warnings in core/ modules 2016-04-17 13:35:17 +03:00
Alexander Udalov db5e00bcc0 Report error if some deserialized classes are missing in dependencies
Technically we often can compile code which uses missing classes (as long as
nothing is called on them) but it seems better to let the user know something's
wrong in their setup before the error manifests itself at runtime. Also the
Java compiler does the same

 #KT-4328 Fixed
2016-03-28 14:13:59 +03:00
Alexey Sedunov fefa0baeee Light Classes: Generate light wrappers for annotation entries 2016-03-24 17:41:58 +03:00
Valentin Kipyatkov 05dc4c1c48 ResolutionFacade for synthetic files should be invalidated on changes in these synthetic files
Fixed EA-77017
2016-03-04 16:30:24 +03:00
Stanislav Erokhin 9338aa5633 Refactoring. Copy SmartList from IDEA to util.runtime module. 2016-03-02 18:07:40 +03:00
Zalim Bashorov 2c1d1e84a6 Allow to use internal declarations from special modules in IDEA
(e.g. IDEA 16 gradle tests loaded in separate module)

 #KT-10595 Fixed
2016-02-08 15:42:47 +03:00
Ilya Gorbunov 744a7a83f7 Cleanup RC deprecations in compiler and plugin. 2016-01-27 18:34:30 +03:00
Ilya Gorbunov 23080f78f7 Map.getOrPut: treat nulls as missing values. 2016-01-26 11:49:18 +03:00
Ilya Gorbunov 9a41e07ac0 Use IDEA 143.1960 built with master kotlin branch.
Remove tweaks required to bootstrap packages.
Restore non-star imports of kotlin.text.Charsets.
2016-01-22 22:06:22 +03:00
Ilya Gorbunov 9c0f0cad70 Packages: move collections to kotlin.collections. 2016-01-22 05:54:38 +03:00
Alexander Udalov d4c4515944 Refactor BinaryVersion and subclasses, get rid of static factories 2016-01-19 18:39:59 +03:00
Alexander Udalov 9552accaec Introduce BinaryVersion.isCompatible()
To decrease the chance to mix up the receiver and the first argument when
checking version compatibility
2016-01-19 18:39:59 +03:00
Alexander Udalov 04d335db15 Move version constants to corresponding BinaryVersion subclasses 2016-01-19 18:39:59 +03:00
Alexander Udalov 2f64680b63 Add several subclasses of BinaryVersion
To simplify comparison of expected vs actual versions in the future
2016-01-19 18:39:59 +03:00
Dmitry Jemerov 3870bd04b8 core: cleanup 'public', property access syntax 2016-01-07 18:03:09 +01:00
Ilya Gorbunov 911adfd04d Cleanup in core modules 2015-12-29 18:04:14 +03:00
Alexander Udalov 57b96f38a9 Minor, remove/simplify unnecessary utilities in util.runtime 2015-12-25 20:16:18 +03:00
Stanislav Erokhin 10a13e737e Minor. Add isComputing to DeferredType 2015-12-08 17:29:55 +03:00
Alexey Sedunov e517cbcf78 Quick Fixes: Implement "Rename unresolved reference" fix
#KT-8795 Fixed
2015-12-08 16:20:56 +03:00
Denis Zharkov 9c73502bdc Partially revert "Fix project source to overcome bootstrap problem"
Adjust code to new generic signatures generated by Kotlin compiler
This reverts commit 0fd2484bc9.
2015-12-04 10:19:48 +03:00
Denis Zharkov 0fd2484bc9 Fix project source to overcome bootstrap problem 2015-12-01 08:21:02 +03:00
Alexander Udalov 7b3b157707 Remove PropertyMetadata from project and bytecode, migrate code to KProperty 2015-11-27 23:34:34 +03:00
Yan Zhulanow 87799e9b6b Fix "operator modifier required" errors in project 2015-11-27 15:51:11 +03:00
Nikolay Krasko 24e473f47b Minor: put type parameters before function name 2015-11-23 22:03:32 +03:00
Nikolay Krasko a62e6f7737 Refactoring: extract ObservableStorageManager from LoggingStorageManager 2015-11-23 22:03:32 +03:00
Nikolay Krasko 58dbb1ad53 Rethrow stored process canceled exception as a new one with both stacks 2015-11-23 22:03:32 +03:00
Ilya Gorbunov f3ff2e2e76 Replace deprecated join with joinToString 2015-11-06 01:12:00 +03:00
Alexey Sedunov 5e223927ea Change Signature: Match calls of different overloads generated due to @JvmOverloads annotation
#KT-9020 Fixed
2015-11-02 15:15:43 +03:00
Dmitry Petrov 8cd624a58a Drop package facades: code cleanup in Kotlin project. 2015-10-15 10:33:47 +03:00
Denis Zharkov 9e052372e6 Make SmartSet smarter 2015-10-14 20:40:04 +03:00
Yan Zhulanow bc3d1ddda0 Remove old 'get' delegate convention in interfaces 2015-10-14 01:29:09 +03:00
Alexander Udalov baaa3ef50a Remove KotlinSignature annotations from project code 2015-10-13 20:29:16 +03:00
Yan Zhulanow 1f2b4e20fe Replace get() and set() to getValue() and setValue() (property delegates) 2015-10-09 22:49:16 +03:00
Alexey Sedunov 730cc7b551 Code insight: "Generate..." actions for test framework support methods
#KT-9355 Fixed
2015-10-08 13:15:18 +03:00
Ilya Gorbunov b50c106648 Replace reverse with reversed or asReversed. 2015-10-07 22:36:18 +03:00
Denis Zharkov e52e6cf869 Temporary make SmartSet less smart
SmartSet is compiled both with bootstrap and new compiler, so it can't
implement both old and new Set interfaces (with 'size' as function and as property).

This commit should be reverted after bootstraping
2015-10-07 08:46:33 +03:00
Denis Zharkov 547aa2cda6 Load special java methods as properites
Currently only those that override special builtin properties (e.g. `Collection.size`)
Their modality is defined by method's modality
2015-10-06 23:56:17 +03:00
Dmitry Petrov 6cb0e5151c KT-9377 Support is-checks for read-only collections
Intrinsics for is/as/as? with mutable Kotlin collections and related types.
2015-10-02 15:17:00 +03:00
Valentin Kipyatkov 8f1a3043de Synthetic properties made locale-independant too 2015-09-29 18:32:25 +03:00