Commit Graph

6346 Commits

Author SHA1 Message Date
Andrey Breslav aa90302d1b Tests for storage manager 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 0c83832f27 Use ReentrantLock instead of intrinsic locks in LockBasedStorageManager 2013-10-03 15:49:19 +04:00
Andrey Breslav ee72479344 Thread-safe lazy values used in lazy resolve 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
Andrey Breslav f3cd83c744 All storage-related code moved to util.runtime 2013-10-03 15:49:18 +04:00
Andrey Breslav 51dfdf795f Recursion-tolerant notnull lazy values 2013-10-03 15:49:17 +04:00
Zalim Bashorov 2b9b563efb JPS plugin: add support external compilation for JS modules. 2013-10-03 13:58:02 +04:00
Evgeny Gerashchenko 3bb1d3854c Removed hack. 2013-10-02 18:29:14 +04:00
Alexander Udalov f68a702e8f Report ABI errors on KotlinClass, not VirtualFile 2013-10-02 17:55:02 +04:00
Alexander Udalov 3087c6f584 ReadDataFromAnnotationVisitor doesn't depend on ASM anymore 2013-10-02 17:07:37 +04:00
Alexander Udalov 8b63665b20 Delete getFqName() method from KotlinClassFileHeader
It's not related to the header. Add getClassName() method to
KotlinJvmBinaryClass, which reads the internal name of the class
2013-10-02 17:05:50 +04:00
Alexander Udalov a5a80a9ccc Change KotlinClassFileHeader loading interface
It should be able to load the header based on an abstract KotlinJvmBinaryClass,
not only the VirtualFile-based one
2013-10-02 17:05:50 +04:00
Alexander Udalov 2eebcd91c0 Make annotation deserializer not depend on VirtualFile & ASM
KotlinJvmBinaryClass now has its own visitor interfaces, which are an
abstraction over ASM visitors and the ones that will be implemented over
reflection
2013-10-02 17:05:50 +04:00
Alexander Udalov 7eff1292f0 Make an abstraction over VirtualFileFinder
Java descriptor loader now can work with KotlinClassFinder, which finds
abstract KotlinJvmBinaryClass'es: they are based on VirtualFile in the
compiler/IDE and will be based on j.l.Class in the reflection
2013-10-02 17:05:50 +04:00
Alexander Udalov fdc631d595 Increase ABI version after changes to package fragment names 2013-10-02 17:05:47 +04:00
Alexander Udalov 8a5336aca2 Don't use $ in package fragment class names
Package fragment classes now are named "*Package-<filename>-<hash>" instead of
"*Package$src$<filename>$<hash>". This will help to avoid erroneous code in
intellij FileManager, which assumes that classes with dollars are always inner
classes of some other class (see AnnotationDescriptorDeserializer)
2013-10-02 17:03:24 +04:00
Evgeny Gerashchenko eebe605771 Fixed tests on android (file names escaping). 2013-10-01 22:18:03 +04:00
Evgeny Gerashchenko eb5455e89f Got rid of "jet" file extension. 2013-10-01 19:32:38 +04:00
Evgeny Gerashchenko dc42be8543 Fixed VerifyError when copyToArray() is immediately returned from method. 2013-10-01 19:32:37 +04:00
Andrey Breslav 3f00004255 Exception fixed: com.intellij.psi.PsiInvalidElementAccessException 2013-10-01 17:15:47 +04:00
Andrey Breslav 98ce0e078c Chaching results of findClasses in JavaElementFinder
Quieries to this method appear very high in the profile when there are many exceptions in the console
2013-10-01 17:15:47 +04:00
Evgeny Gerashchenko 2ae1a2c81b Added copyToArray intrinsic method.
#KT-3352 fixed
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko 41d1f277dc Generated default implementations for Collection.toArray().
#KT-3352 in progress
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko d56c59d9d7 Removed toArray() from collections (few tests are still failing).
#KT-3352 in progress
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko 48625dd7b6 Disallowed using type parameter as reified type argument.
#KT-3050 fixed
2013-10-01 15:06:57 +04:00
Evgeny Gerashchenko 2c877f080e Introduced CompositeExtension (to pass several of them). 2013-10-01 15:06:57 +04:00
Alexander Udalov 5fa489b7d3 Add 'topLevelMemberInvocation.twoModules' test to CompileBinaryTestData 2013-09-30 22:43:18 +04:00
Alexander Udalov f7db95f63c Minor refactoring in DeserializedClassDescriptor 2013-09-30 22:43:18 +04:00
Alexander Udalov a97bb80216 Serialize FQ names of Kotlin classes
This helps to avoid a nasty hack with loading inner Kotlin classes in JDR,
which makes it a bit easier to 'lazify' JDR, since now the container of a
Kotlin class is no longer required to be resolved eagerly before resolution of
the class itself
2013-09-30 22:43:18 +04:00
Alexander Udalov a16db2c773 Regenerate ProtoBuf files 2013-09-30 22:43:17 +04:00
Alexander Udalov 91cbe3e239 Move ClassSerializationUtil to 'compiler-tests' module
It's not used in 'serialization'
2013-09-30 22:43:17 +04:00
Alexander Udalov ee92ebe941 Move Kotlin descriptor loading to kotlin/ package 2013-09-30 22:43:17 +04:00
Alexander Udalov fa9307d08c Delete unused method from VirtualFileFinder 2013-09-30 22:43:17 +04:00
Alexander Udalov b42a3e6f6c Write KotlinPackageFragment annotation to package$src classes 2013-09-30 22:43:17 +04:00
Alexander Udalov e4d538c668 Move KotlinClassFileHeader to header/ package 2013-09-30 22:43:16 +04:00
Alexander Udalov 92cc0ddd1f KotlinClassFileHeader is now nullable everywhere
'null' means there's no header. This makes all of KotlinClassFileHeader's
fields non-null
2013-09-30 22:43:16 +04:00
Alexander Udalov e981681d3e Remove KotlinClassFileHeader.HeaderType.NONE
Use null instead
2013-09-30 22:43:16 +04:00
Alexander Udalov ed6f908049 Move JavaProtoBufUtil utilities to where they're used
Serialization goes to backend: it's not needed in runtime, at least in the
state in which it is now (dependent on ASM).

Deserialization goes to AnnotationDescriptorDeserializer. Inline some methods,
remove unneeded abstractions.

This removes dependency of serialization.java on ASM
2013-09-30 22:43:15 +04:00
Alexander Udalov dfb0908da0 Move 8bit<->7bit logic to a separate class 2013-09-30 22:43:15 +04:00
Svetlana Isakova a3f9cef354 fixed bug: 'isStatement' for function body == 'hasBlockBody'
not vice versa
2013-09-30 21:06:05 +04:00
Pavel V. Talanov fa8ca4e781 Refactor: Improve code clarity in DelegationResolver
Filter out non-overridable descriptors earlier for possible optimization
Report error to trace even if name identifier is null
2013-09-30 20:54:44 +04:00
Pavel V. Talanov 9599f7d98c Test for delegated members being overridden 2013-09-30 20:54:42 +04:00
Pavel V. Talanov 51a6bcb727 Test for reporting clashes with multiple delegated methods
Verifies that the order in which traits are inherited is irrelevant
2013-09-30 20:54:41 +04:00
Pavel V. Talanov 04105fae65 Refactor DelegationResolver into method object to simplify code 2013-09-30 20:54:40 +04:00
Pavel V. Talanov 1a3603652c Refactor DelegationResolver so that lazy and eager resolve share the code
Also fix an exception in LazyClassMemberScope
2013-09-30 20:54:39 +04:00
Pavel V. Talanov 6fb7a79a1f Refactor DelegationResolver
Fix an issue in lazy resolve : filter out methods from delegated traits superclass
2013-09-30 20:54:38 +04:00
Pavel V. Talanov dc9c3b1a97 Fix JetTestCaseBuilder#getHomeDirectory() having wrong separators on Windows 2013-09-30 20:54:36 +04:00
Alexey Sedunov 48ddd7678d Separate tree structures for local and non-local root declarations 2013-09-27 19:20:47 +04:00