Commit Graph

8623 Commits

Author SHA1 Message Date
Evgeny Gerashchenko c4573b8c5a Got rid of ModuleDescription intermediate entity. 2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko 86d2565700 Added test for KT-4827 UOE at PackageType.throwException()
#KT-4827 obsolete
 #EA-53605 obsolete
2014-07-10 15:05:18 +04:00
Michael Bogdanov ea20073d4b Fix error message 2014-07-10 14:19:35 +04:00
Pavel V. Talanov ab07aea82f Fix an NPE in VirtualFileKotlinClassFinder#findKotlinClass(JavaClass)
Happens for nonphysical PsiClass
2014-07-10 14:08:14 +04:00
Pavel V. Talanov f0e91182da Minor: Remove context parameter from getContainingFile() utility and move it to DescriptorToSourceUtils 2014-07-09 21:46:28 +04:00
Pavel V. Talanov 16aefae602 Move descriptorToDeclaration utilities family to a separate util class DescriptorToSourceUtils 2014-07-09 19:07:26 +04:00
Pavel V. Talanov 8b91855fac Drop SynthesizedCallableMemberDescriptor 2014-07-09 18:19:37 +04:00
Pavel V. Talanov d988256831 Refactor: Remove context parameter from BindingContextUtils.descriptorToDeclaration utilities family 2014-07-09 18:19:36 +04:00
Pavel V. Talanov 723b3d75c9 Rewrite BindingContextUtils.descriptorToDeclaration utilities family to use SourceElement for getting PSI
Remove DESCRIPTOR_TO_DECLARATION context key
2014-07-09 18:19:35 +04:00
Pavel V. Talanov 59e43020c3 Initial version of storing SourceElements in descriptors
Introduce SourceElement, JavaSourceElementFactory, DeclarationDescriptorWithSource
Implement getSource() for eager, lazy and java descriptors
2014-07-09 18:19:34 +04:00
Andrey Breslav e3b1639edf KT-5425 Kotlin plugin crashes when project uses RxJava 17.0 or older
#KT-5425 Fixed
2014-07-09 16:10:41 +04:00
Michael Bogdanov b1065520fb Skip visitEnd in InliningInstructionAdapter 2014-07-09 09:48:17 +04:00
Michael Bogdanov 6ddeb85c00 Added checking for ONLY_LOCAL_RETURN in actual parameter of inline function 2014-07-09 09:46:28 +04:00
Svetlana Isakova 24e20b2dcf Invoke call resolver extension in CallCompleter
so it is called after outer call is resolved (for calls in arguments)
2014-07-08 15:42:19 +04:00
Svetlana Isakova 62cb0d0baf Added util 'getParentResolvedCall', 'strict' parameter 2014-07-08 14:57:41 +04:00
Svetlana Isakova cec01237d0 Added test for labeled delegated expression 2014-07-08 14:57:40 +04:00
Svetlana Isakova 51a979d5f0 Refactoring: do not duplicate 'instructionElement' (old 'calleeExpression') as a parameter
to 'builder.call()' and 'builder.read()' methods
2014-07-08 14:57:39 +04:00
Svetlana Isakova 6988725207 Refactoring: remove 'call' argument
when it can be taken from resolved call
2014-07-08 14:57:39 +04:00
Svetlana Isakova 53ee30992b Record resolved call on call (not on element) 2014-07-08 14:57:38 +04:00
Svetlana Isakova aa26db0538 Updated tests for control flow: call instruction stores call element
instead of callee expression
2014-07-08 14:57:38 +04:00
Svetlana Isakova 72e9822d99 All RESOLVED_CALL getters replaced with util methods
JetElement.getResolvedCall(BindingContext)
  JetElement.getResolvedCallForSure(BindingContext)
2014-07-08 14:57:37 +04:00
Svetlana Isakova e1fb5a9a04 Added 'isExternal' to ValueArgument
'subject' is external for 'in(contains)' resolve in 'when' condition:
when (subject) {
  in range -> ...
}
2014-07-08 14:48:20 +04:00
Svetlana Isakova ae8757f6b8 Added tests on resolved call for 'this' 2014-07-08 14:48:20 +04:00
Svetlana Isakova dd95439767 Do not update recorded type if it hasn't changed
It's important for argument that has a type that shouldn't be updated.
Like '(b)' in 'a == (b)', which type is 'Any' (for proper 'equals' resolve).
Type for 'b' shouldn't be updated to 'Any' as well.
2014-07-08 14:48:20 +04:00
Svetlana Isakova 48511206ad Mark required call with 'caret' in abstract resolved calls test 2014-07-08 14:48:19 +04:00
Svetlana Isakova 29ab166e1b Refactoring: AbstractResolvedCallsTest
Render resolved call to a separate file
2014-07-08 14:48:19 +04:00
Svetlana Isakova b2c2e1811c Check 'isDirty' for resolved calls replaced with check 'hasUnresolvedArguments' for call
Don't report 'cannotCompleteResolve' error if some arguments are unresolved (like 'ambiguity')
2014-07-08 14:48:19 +04:00
Svetlana Isakova a3e306b820 Update recorded type for argument in parentheses correctly 2014-07-08 14:48:18 +04:00
Svetlana Isakova 12ddf76df4 Changed order in call completer
update resolution status (and report error) after completing all arguments
2014-07-08 14:48:18 +04:00
Svetlana Isakova c204ae2da1 Record argument to parameter map at the beginning
(separately from argument match status)
2014-07-08 14:48:18 +04:00
Svetlana Isakova f24442b90e Added ArgumentMatchStatus.MATCH_MODULO_UNINFERRED_TYPES 2014-07-08 14:48:17 +04:00
Svetlana Isakova 857aa76cff Added tests for argument mapping 2014-07-08 14:48:17 +04:00
Svetlana Isakova 8dc932fc50 Refactoring: inlined method 'setInitialDataFlowInfo' 2014-07-08 14:48:17 +04:00
Svetlana Isakova ec0fa1b765 Rewrote 'isDirty' in terms of argument to parameter match status
Added ArgumentMatchStatus
2014-07-08 14:48:16 +04:00
Svetlana Isakova ad5fc4cd05 Removed duplication in MutableResolvedCall interface
'hasIncompleteTypeParameters()' is the same as 'getConstraintSystem() != null'
2014-07-08 14:48:16 +04:00
Svetlana Isakova 6ffb02ae0d Removed unused methods 2014-07-08 14:48:16 +04:00
Svetlana Isakova 11fbe375fa Logic of completing call rewritten in CallCompleter
Changed interface ResolutionResultsCache
2014-07-08 14:48:15 +04:00
Svetlana Isakova 06a257025f Added NotNull annotations 2014-07-08 14:48:15 +04:00
Svetlana Isakova 02f5293b3d Added CallCompleter component
Regenerated injectors
2014-07-08 14:48:15 +04:00
Svetlana Isakova 05e5f2437e Use Call instead of CallKey as a map key in ResolutionResultsCache 2014-07-08 14:48:14 +04:00
Alexander Udalov 17a6c1fd54 Minor, fix typo 2014-07-07 18:44:54 +04:00
Alexander Udalov 71cd7838d2 Move/inline enum class object related methods in DescriptorUtils 2014-07-07 18:33:31 +04:00
Alexander Udalov e502d8dcc6 Remove JetScopeAdapter 2014-07-07 18:15:32 +04:00
Alexander Udalov 64512ae87b Move writable scope implementations to 'frontend' 2014-07-07 18:15:31 +04:00
Alexander Udalov b9fd52739f Move around some descriptor implementations
- mutable class, mutable package fragment and their dependencies go to module
  'frontend'
- ModuleDescriptorImpl and PackageFragmentDescriptorImpl are moved to the
  package "impl" in their module
2014-07-07 18:15:31 +04:00
Alexander Udalov 7773375019 Use EnumClassObjectDescriptor in lazy resolution 2014-07-07 18:15:28 +04:00
Alexander Udalov db3e5ed678 Use EnumClassObjectDescriptor in TypeHierarchyResolver 2014-07-07 18:15:28 +04:00
Alexander Udalov 8efeb3ac6a Move script descriptor implementation to frontend 2014-07-07 18:15:27 +04:00
Evgeny Gerashchenko 7ef5c75f26 Supported inlining functions which access properties via field. 2014-07-07 17:41:36 +04:00
Evgeny Gerashchenko 2259cc605f Preserving annotations in incremental compilation. 2014-07-07 17:41:35 +04:00