Commit Graph

12143 Commits

Author SHA1 Message Date
Alexander Udalov fd97383f8a Fix mapping of jvmStatic functions
#KT-8800 Fixed
2015-08-29 18:37:38 +03:00
Alexander Udalov 9a8cf23ed4 Support KClass.companionObject and companionObjectInstance
#KT-7636 Fixed
2015-08-29 18:37:32 +03:00
Alexander Udalov 94d45f35d4 Support KClass.nestedClasses 2015-08-29 17:59:45 +03:00
Valentin Kipyatkov e8dc9ede31 Implemented HiddenDeclaration annotation (doc-comment to be added!) 2015-08-29 10:54:59 +03:00
Stanislav Erokhin ba4fb3e37c Add hack for Repl 2015-08-29 01:46:00 +03:00
Stanislav Erokhin 2cb3842c39 Take snapshot for LexicalWritableScope when subscopes created 2015-08-29 01:45:59 +03:00
Stanislav Erokhin 4c7bafce45 Global replace JetScope to LexicalScope 2015-08-29 01:45:56 +03:00
Stanislav Erokhin 1b1fae8899 Minor. Added some util methods for LexicalScope 2015-08-29 01:44:36 +03:00
Stanislav Erokhin d1efadf168 Created slice key LEXICAL_SCOPE 2015-08-29 01:44:35 +03:00
Stanislav Erokhin 1d5cd8f7e1 Created LexicalWritableScope add added RedeclarationHandler for LexicalScopeImpl 2015-08-29 01:44:34 +03:00
Stanislav Erokhin 04ccb4cf90 Added hashCode & equals to LexicalToJetScopeAdapter for correct rewrite in trace 2015-08-29 01:44:34 +03:00
Alexander Udalov 7c28a2e732 Support KClass.defaultType 2015-08-28 21:22:11 +03:00
Alexander Udalov ea8fe56704 Include property type to KProperty.toString 2015-08-28 21:11:31 +03:00
Alexander Udalov d36ef90dd6 Provide equals/hashCode/toString for KParameter implementation
Two KParameter instances are equal iff their backing descriptors are equal and
their callables are equal
2015-08-28 21:11:30 +03:00
Alexander Udalov d4825cf4f0 Support KParameter.kind: instance, extension receiver, or value 2015-08-28 21:11:22 +03:00
Alexander Udalov a73d02418d Introduce additional API for introspecting functions
memberFunctions, declaredMemberFunctions, staticFunctions, etc.

 #KT-8797 Fixed
2015-08-28 21:11:21 +03:00
Alexander Udalov ebe4a8ec89 Provide equals/hashCode/toString for KType implementation 2015-08-28 21:11:20 +03:00
Alexander Udalov 9882e86ecb Don't render contents of enum entry classes in .txt tests, regenerate tests
They are irrelevant because cannot be accessed from the outside anyway
2015-08-28 21:11:06 +03:00
Alexander Udalov 29abf94327 Prohibit clone() for enum classes
#KT-8972 Fixed
2015-08-28 21:11:02 +03:00
Alexander Udalov 89f3cfc704 Support parameter names for Java 8 classes in reflection
Also support specifying additional options to javac in codegen tests, which was
needed to compile Java sources with the "-parameters" option
2015-08-28 21:11:01 +03:00
Denis Zharkov e8f91e596c Adjust test data after fixes about generic nullability 2015-08-28 18:50:26 +03:00
Denis Zharkov 4a3fbcc16e Make project compilable after fixes about generic nullability 2015-08-28 18:50:26 +03:00
Denis Zharkov 5e09a0c2c9 Add some test cases after review 2015-08-28 18:50:25 +03:00
Denis Zharkov 00a78fce0c Get rid of special logic when check receiver
Instead of manually checking nullability when reporing UNSAFE_CALL_ERROR
just check if receiver type is subtype of receiver parameter

Make it in two steps
1. Check subtype with respect to smart casts but ignoring nullability (if it's not satisfied -> ERROR)
2. Check subtype with respect to nullability and smartcasts (record latter if needed)
2015-08-28 18:50:25 +03:00
Denis Zharkov 6ed6b2e298 Move and expand hack about not-null smart casts for type parameters 2015-08-28 18:50:25 +03:00
Denis Zharkov acf6491eed Simplify getSmartCastVariantsExcludingReceiver
Use DataFlowValueFactory.createDataFlowValue instead of manual instanceof
2015-08-28 18:50:25 +03:00
Denis Zharkov 9f8f0e9d37 Fix DataFlowValue creation for Transient/Script receivers 2015-08-28 18:50:25 +03:00
Denis Zharkov b471767e03 Refine smart cast check for type parameters 2015-08-28 18:50:25 +03:00
Denis Zharkov aad977d204 Properly check whether nullability of receiver argument fits to parameter's nullability
It's should behave like we check isSubtype(receiverType, parameterType) + use nullability info from smart cast

 #KT-1090 Fixed
2015-08-28 18:50:25 +03:00
Denis Zharkov 70d4a7997e Minor. Extract getDataFlowValueExcludingReceiver 2015-08-28 18:50:25 +03:00
Denis Zharkov 6ecfa6e985 Refine subtyping check: pay attention to corresponding supertype nullability
F: Any, T : F? => !isSubtype(T, Any)

It helps to identify upper bounds violation like in KT-7455

 #KT-7455 Fixed
 #KT-2924 Fixed
 #KT-3015 Fixed
2015-08-28 18:50:25 +03:00
Denis Zharkov a906be6dd7 Prohibit using null as a value of generic type
#KT-7350 Fixed
 #KT-7736 Fixed
 #KT-7485 Fixed
2015-08-28 18:50:25 +03:00
Dmitry Jemerov c7b26ed7ca improve support for renaming overriding methods in enum entries
#KT-8891 Fixed
2015-08-28 15:49:07 +02:00
Valentin Kipyatkov 4717b17418 Inspection & fix for redundant supertype qualification 2015-08-27 23:21:22 +03:00
Yan Zhulanow 0c87639514 Fix annotation list parsing: @identifier:[a b c] 2015-08-27 18:16:06 +03:00
Nikolay Krasko a2f30f9619 Add simple pattern pre-check in hasMetadata() 2015-08-27 15:49:18 +03:00
Dmitry Jemerov 18223dfaaa update backing field references when renaming Kotlin property
#KT-7905 Fixed
2015-08-27 14:31:17 +02:00
Valentin Kipyatkov 9d7e6600d4 Got rid of allKotlinClasses() method 2015-08-27 13:34:33 +03:00
Valentin Kipyatkov 542fa34c2d KT-8680 Change priority of imported descriptors (user imports vs default imports)
#KT-8680 Fixed
2015-08-27 13:34:33 +03:00
Stanislav Erokhin d92e71861e Changed JetScope to LexicalScope in ClassDescriptorWithResolutionScopes and DeclarationScopeProvider 2015-08-27 12:01:13 +03:00
Stanislav Erokhin 47f88eb1c1 Created LexicalChainedScope and LexicalScopeImpl 2015-08-27 12:01:12 +03:00
Stanislav Erokhin 2a0159f23b Created JetScope.memberScopeAsFileScope() 2015-08-27 12:01:11 +03:00
Stanislav Erokhin aa3be395a4 Extract WritableScopeStorage from WritableScopeImpl 2015-08-27 12:01:10 +03:00
Stanislav Erokhin 40c3b03a54 Minor. Change return type for method WritableScope.changeLockLevel 2015-08-27 12:01:09 +03:00
Stanislav Erokhin 3152d722cd Fix bug in ScopeUtils. 2015-08-27 12:01:09 +03:00
Stanislav Erokhin 9a435e332f Fix InnerClassesScopeWrapper - remove properties and functions from this scope. 2015-08-27 12:01:07 +03:00
Stanislav Erokhin 49b294b8b4 Move MutableClassDescriptor to backend module 2015-08-27 12:01:06 +03:00
Stanislav Erokhin a4599ef5e2 Clean up MutableClassDescriptor 2015-08-27 12:01:06 +03:00
Alexander Udalov 56e12787a8 Fix exception on overridding var-property with a val constructor parameter
#KT-3810 Fixed
2015-08-27 10:23:49 +03:00
Alexander Udalov 59a15092da Drop old preloader command-line interface, use new one instead 2015-08-27 08:19:51 +03:00