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
e62b4cfb5f
Invoke 'Add name to argument fix' not only on simple name callee expressions
2014-07-08 14:57:40 +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
bf45a3590b
Use a specialized scope in EnumClassObjectDescriptor
...
Instead of WritableScopeImpl
2014-07-07 18:15:30 +04:00
Alexander Udalov
6e5339ad3c
Move values/valueOf creation logic to EnumClassObjectDescriptor
2014-07-07 18:15:29 +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
de21f76e10
Introduce EnumClassObjectDescriptor
...
Extract the duplicate logic in deserialization and descriptor.loader.java
2014-07-07 18:15:27 +04:00
Alexander Udalov
8efeb3ac6a
Move script descriptor implementation to frontend
2014-07-07 18:15:27 +04:00
Evgeny Gerashchenko
42cba1cc3c
Ignoring not static final fields.
...
Added tests with class object of trait and val inside object.
2014-07-07 17:41:39 +04:00
Evgeny Gerashchenko
aa9384a207
Made constants and inline functions maps class-file based. Otherwise data for different class files was overwritten: e.g. several classes in file, class and top-level callables in one source file.
...
Extracted superclass with common parts.
2014-07-07 17:41:39 +04:00
Evgeny Gerashchenko
f8ac8f727e
Merged tests with inline functions in class and in package.
...
Now this test also checks situation when several class files with inline functions are emitted from one source file.
2014-07-07 17:41:38 +04:00
Evgeny Gerashchenko
ca647a9ff4
Expanded test with constants unchanged. Now it has class-level and package-level constants mixed in one file.
2014-07-07 17:41:38 +04:00