Commit Graph

20258 Commits

Author SHA1 Message Date
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