Pavel V. Talanov
df90f16492
Increase stub version
2015-02-16 15:38:49 +03:00
Pavel V. Talanov
32aff01969
Increase abi version
2015-02-16 15:38:48 +03:00
Pavel V. Talanov
1e772e3d1a
KDoc: remove visitClassObject override
2015-02-16 15:38:48 +03:00
Pavel V. Talanov
9e48631ccb
Minor: Remove redundant implementation getDefaultObjectDescriptor() in missingDependencies.kt
2015-02-16 15:38:47 +03:00
Pavel V. Talanov
1174010f33
JS backend: support named class objects
...
Temporary solution until named objects in classes are supported in js backend
2015-02-16 15:38:47 +03:00
Pavel V. Talanov
f0003449e5
Test named class object reference resolve
2015-02-16 15:38:46 +03:00
Pavel V. Talanov
96e54b4872
Test accessing class object from java
2015-02-16 15:38:45 +03:00
Pavel V. Talanov
ed5e2a21d1
Restore some of the tests for deprecated OBJECT$ field
2015-02-16 15:38:45 +03:00
Pavel V. Talanov
2d59791cf2
Improve LazyClassDescriptor#getDefaultObjectDescriptor()
...
To cover the case when default object's name is not unique (redeclaration)
(Calling getClassifier is wrong for this case)
2015-02-16 15:38:44 +03:00
Pavel V. Talanov
b6b83a4683
Minor: Add validation for ClassDescriptor#getDefaultObjectDescriptor() new contract
2015-02-16 15:38:44 +03:00
Pavel V. Talanov
766912c590
Generate additional deprecated "OBJECT$" field for class object
...
To avoid breaking some code for now
It should be removed later
2015-02-16 15:38:43 +03:00
Pavel V. Talanov
7d5c0dc8bf
Refactor: ImplementationBodyCodegen#generateFieldForSingleton()
2015-02-16 15:38:43 +03:00
Pavel V. Talanov
f482768acf
Introduce ClassDescriptor#getDefaultObjectDescriptor()
...
ClassDescriptor#getClassObjectDescriptor (with old semantics) is now a utility
Process usages and replace with calls to a new method where appropriate
2015-02-16 15:38:42 +03:00
Pavel V. Talanov
945072a129
Drop DeserializedResolverUtils and it's usages
2015-02-16 15:38:41 +03:00
Pavel V. Talanov
11ed783e1e
Refactor: get rid of MemberFqNameProvider
2015-02-16 15:38:41 +03:00
Pavel V. Talanov
d52d1035d0
Fix newly introduced NPE in UnusedSymbolInspection
...
getName() and getNameIdentifier() are not in sync for class objects
2015-02-16 15:38:40 +03:00
Pavel V. Talanov
1adf15d01d
Update test data for j2k converter tests
2015-02-16 15:38:40 +03:00
Pavel V. Talanov
d689c11848
Update test for class object completion
2015-02-16 15:38:39 +03:00
Pavel V. Talanov
2b0e823695
Improve test for deprecated class object
2015-02-16 15:38:38 +03:00
Pavel V. Talanov
514a551c04
Update diagnostics test for many class objects
2015-02-16 15:38:38 +03:00
Pavel V. Talanov
0ea69dea95
Update duplicate jvm signature test for class objects
2015-02-16 15:38:37 +03:00
Pavel V. Talanov
1972c2f177
Update test data for various tests
...
Due to slight semantic changes after class object refactor
2015-02-16 15:38:37 +03:00
Pavel V. Talanov
7b837e2631
Updata test data: txt files for diagnostics tests
2015-02-16 15:38:36 +03:00
Pavel V. Talanov
75f55dd99a
Update test data that mentioned old <class-object-for-..> name
2015-02-16 15:38:35 +03:00
Pavel V. Talanov
35b88fb1a5
Update test data for write flags test
2015-02-16 15:38:34 +03:00
Pavel V. Talanov
a1f4c06a49
Update test data that mentioned old JvmAbi constants
2015-02-16 15:38:34 +03:00
Pavel V. Talanov
be5f00ad1c
Update test data for various stub tests
2015-02-16 15:38:33 +03:00
Pavel V. Talanov
e4b206726d
Minor: slightly improve positioning strategy for redeclaration on class object
2015-02-16 15:38:32 +03:00
Pavel V. Talanov
4132946be2
Minor: Override getTextOffset() in JetObjectDeclaration
...
Availability of some intentions depends on this
2015-02-16 15:38:32 +03:00
Pavel V. Talanov
d9d3f68a39
Drop JetClassObject element and its usages
...
as class objects are now represented by JetObjectDeclaration element
2015-02-16 15:38:31 +03:00
Pavel V. Talanov
be7f5d01bb
Update JetObjectDeclaration after parser changes to parser
2015-02-16 15:38:31 +03:00
Pavel V. Talanov
f1942b1a74
Parser: do not produce CLASS_OBJECT element
...
"class object" is parsed into OBJECT_DECLARATION instead
2015-02-16 15:38:30 +03:00
Pavel V. Talanov
42d2b97c09
Remove all class object related constants and utils from JvmAbi
2015-02-16 15:38:30 +03:00
Pavel V. Talanov
894c3bceac
Test: add jvm backend test for named class object
2015-02-16 15:38:29 +03:00
Pavel V. Talanov
72f94963ab
Tests: add resolve test for named class object
2015-02-16 15:38:28 +03:00
Pavel V. Talanov
2e837c6586
Parser: allow names to be specified for class objects
2015-02-16 15:38:28 +03:00
Pavel V. Talanov
c29ba63a74
Minor: Simplify getClassObjectType()
2015-02-16 15:38:27 +03:00
Pavel V. Talanov
0343fd8fc7
Rework class objects
...
Class objects have name "Default" by default
Do not produce synthetic class objects
Class objects have new semantics:
class "A" has class object "B" if literal "A" can be used as a value of type "B"
Class objects act like ordinary nested objects
i.e. are accessible from class scope via getClassifier()
Jvm backend: class object fields and class have the name of class object ("Default")
as opposed to special "OBJECT$" and "object"
Serialization: only the name of class object is needed to serialize data
2015-02-16 15:38:27 +03:00
Evgeny Gerashchenko
4b6112d380
Fixed compilation. Some class files generated by kotlinc may have no annotation (that should be fixed later).
2015-02-16 15:34:35 +03:00
Evgeny Gerashchenko
dd89311d22
Not reading class file three times incremental caches.
2015-02-13 21:51:51 +03:00
Evgeny Gerashchenko
3c410aab5b
Updated source roots of idea libraries.
2015-02-13 21:51:51 +03:00
Evgeny Gerashchenko
7ed36f08e6
Moved cli-common before idea-full. cli-common exports dependency on cli-parser library of version different from packaged in idea-full.
2015-02-13 21:51:51 +03:00
Evgeny Gerashchenko
9f159b1fea
Extracted cli-parser to separate library. Removed full dependency jps-plugin -> idea-full.
2015-02-13 21:51:50 +03:00
Evgeny Gerashchenko
1f10cbb0d5
Moved constant to idea module and removed redundant dependency.
2015-02-13 21:51:50 +03:00
Evgeny Gerashchenko
1484ce4a46
Renamed and moved module ide-compiler-runner to idea-jps-common.
...
Motivation: it has only a bunch of constants and a trivial class needed in idea and jps modules.
2015-02-13 21:51:50 +03:00
Evgeny Gerashchenko
bca8711182
Removed redundant dependencies.
2015-02-13 21:51:50 +03:00
Evgeny Gerashchenko
6d9240c52f
Minor. Simplified by subclassing from abstract class.
2015-02-13 21:51:50 +03:00
Evgeny Gerashchenko
cdf29fb2f6
Removed old migration code for incremental compilation setting.
2015-02-13 21:51:49 +03:00
Evgeny Gerashchenko
3e1b869070
Moved parts of ide-compiler-runner to direct modules.
2015-02-13 21:51:49 +03:00
Nikolay Krasko
0f3971323f
Go to Declaration does not work on usage of constant from class object in Java (KT-6172)
...
#KT-6172 Fixed
2015-02-13 20:28:51 +03:00