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