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
Evgeny Gerashchenko
11af8ed616
Added test with constant in class object.
2014-07-07 17:41:37 +04:00
Evgeny Gerashchenko
2ac351928e
Minor. Renamed parameter and corresponding variable.
2014-07-07 17:41:37 +04:00
Evgeny Gerashchenko
aa9f7a73c9
Inline function changed – rebuild all chunk.
2014-07-07 17:41:36 +04:00
Evgeny Gerashchenko
6f8d9f6ed9
Minor. Reused join() instead of makeString()
2014-07-07 17:41:36 +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
Evgeny Gerashchenko
6c8a9ba378
Basic detection for bytecode of inline functions in incremental compilation.
...
Basic rule is: bytecode of inline function changed -> recompile everything.
2014-07-07 17:41:35 +04:00
Evgeny Gerashchenko
6501066274
Added hacky checks for accessing compiled functions from our module via package part instead of facade.
...
#KT-4590 fixed
2014-07-07 17:41:34 +04:00
Evgeny Gerashchenko
55a2e8edf8
Added debug flag for class files comparison.
2014-07-07 17:41:34 +04:00