Alexander Udalov
998e598846
Refactor JavaConstructorResolver
...
Extract methods, fix warnings, use JavaClass/JavaMethod instead of Psi
2013-09-04 21:55:01 +04:00
Alexander Udalov
62868421cf
Minor, green code & move type transformer to "resolver/"
2013-09-04 21:55:01 +04:00
Alexander Udalov
78f9cb7203
Get rid of PsiMemberWrapper
...
Continue migration, use the new Java* classes instead everywhere
2013-09-04 21:55:01 +04:00
Alexander Udalov
245b9d1ab1
Minor, change method parameter from String to JvmClassName
2013-09-04 21:55:00 +04:00
Alexander Udalov
55af245867
Migrate JavaClassResolver from PSI to JavaClass
...
Several places are still left and need special handling. The overall behavior
of the resolver should not change in this commit (except for maybe different
small operations like creating names, fq-names, ...)
2013-09-04 21:55:00 +04:00
Alexander Udalov
de54f7d732
JavaClass, JavaPackage, JavaAnnotation
...
Create dumb wrappers over PSI elements, will be used for loading descriptors
from JVM reflection later (instead of PSI)
2013-09-04 21:55:00 +04:00
Alexander Udalov
eaacff4566
Remove RuntimeHandleClassesMode
...
There were two usages of RuntimeHandleClassesMode.REPORT_ERROR: first in tests,
where it never occurred, second in JavaClassResolver, where it's now inlined
2013-09-04 21:55:00 +04:00
Alexander Udalov
4eb9f28312
Remove useless PsiClass parameter
...
It was used only for a debug message and an assertion that never happened
2013-09-04 21:55:00 +04:00
Alexander Udalov
cc81d12b55
Remove useless methods from PsiClassFinder
...
Their only implementations called methods on a parameter + a utility. Move the
utility to DescriptorResolverUtils
2013-09-04 21:55:00 +04:00
Alexander Udalov
175a598e6d
Delete JavaBaseScope.getPsiElement()
2013-09-04 21:55:00 +04:00
Andrey Breslav
db2b19c50f
Support filtering diagnostics in tests
2013-09-04 13:07:25 +04:00
Alexander Udalov
723d5ef564
Fix default argument method calls
...
In some cases, calls of methods with default arguments were invoked via the
actual generated method, not via the "...$default" accessor
2013-09-03 22:26:05 +04:00
Svetlana Isakova
329d724c1e
fixed compilation
2013-09-03 21:33:42 +04:00
Svetlana Isakova
a53eae79b5
bug fixed: analyze arguments in FREE expression position
2013-09-03 19:56:20 +04:00
Svetlana Isakova
b5e6568726
bug fixed: do not substitute type parameters twice
...
through final argument check
2013-09-03 19:50:00 +04:00
Svetlana Isakova
a49dcc0dd4
analyze when entry in independent context
2013-09-03 17:05:21 +04:00
Svetlana Isakova
7fabfd8771
test data fixed
...
temporary
when ambiguity inner calls are not completed
2013-09-03 13:09:18 +04:00
Svetlana Isakova
79c18f1c56
test data fixed
...
temporary
2013-09-03 13:09:17 +04:00
Svetlana Isakova
efda014109
test data fixed
...
ignore error types in resolving constraints for generic functions
'if' is resolved as special function
2013-09-03 13:09:17 +04:00
Svetlana Isakova
335e0d7d1b
test data fixed
...
can't implicitly convert to Unit any more in 'if'
as 'if' is resolved as special function call 'fun IF<T>(T, T)'
2013-09-03 13:09:17 +04:00
Svetlana Isakova
01826af806
rename: deparenthesizeWithNoTypeResolution -> deparenthesize
2013-09-03 13:09:16 +04:00
Svetlana Isakova
d9b7dd6232
fix: find key expression recursively
2013-09-03 13:09:16 +04:00
Svetlana Isakova
3f72c7a9e1
small fixes: case with function literal in a block
...
analyze function literals in 'independent' mode, todo comment added
2013-09-03 13:09:15 +04:00
Svetlana Isakova
c739632c57
report 'ambiguity' on reference, not on the whole expression
...
as other type inference errors
2013-09-03 13:09:15 +04:00
Svetlana Isakova
5a8e80399e
update number types for unmapped arguments
...
or when there is no candidate found
2013-09-03 13:09:15 +04:00
Svetlana Isakova
cf85e4de36
refactoring: moved methods
2013-09-03 13:09:14 +04:00
Svetlana Isakova
5f029c4c57
small refactoring
2013-09-03 13:09:14 +04:00
Svetlana Isakova
0084b68176
analyze incomplete 'in' expression
2013-09-03 13:09:14 +04:00
Svetlana Isakova
da07d60ad6
checked for 'isBinaryExpressionDependentOnExpectedType'
...
both in analyzing expressions & completion phase
2013-09-03 13:09:13 +04:00
Svetlana Isakova
cf22bc7c35
added checkType of TypeInfo method
2013-09-03 13:09:13 +04:00
Svetlana Isakova
70b11f6d39
refactoring: extracted methods for visiting special binary expressions
2013-09-03 13:09:13 +04:00
Svetlana Isakova
8b27c72736
removed UNKNOWN_EXPECTED_TYPE
...
it's NO_EXPECTED_TYPE + ContextDependency.DEPENDENT
2013-09-03 13:09:12 +04:00
Svetlana Isakova
92611e1460
used usual trace instead of dummy one in tests
...
is necessary for 'if' tests
2013-09-03 13:09:12 +04:00
Svetlana Isakova
58158ab30b
++wrap if branches in blocks
2013-09-03 13:09:12 +04:00
Svetlana Isakova
a493125a75
refactoring: fixes after review
...
rename, removed unnecessary methods, improved test
2013-09-03 13:09:11 +04:00
Svetlana Isakova
fa9959cdb5
refactoring: extracted all diagnostic messages to 'diagnostics' list
...
fixed test after messages order changed
2013-09-03 13:09:11 +04:00
Svetlana Isakova
928133b69b
small fixes after review
2013-09-03 13:09:10 +04:00
Svetlana Isakova
164da12518
LabelResolver moved to ResolutionContext
...
(from ExpressionTypingContext)
2013-09-03 13:09:10 +04:00
Svetlana Isakova
fd5a2056c1
analyze labeled function literals as usual ones
...
(specially as function literals, not as other expressions)
2013-09-03 13:09:10 +04:00
Svetlana Isakova
8f29968183
test data updated
...
arguments analyzed even if there's type inference error
2013-09-03 13:09:09 +04:00
Svetlana Isakova
9093d4c373
wrap if branches in blocks
2013-09-03 13:09:09 +04:00
Svetlana Isakova
1861a335f6
always analyze 'if' as a call
...
not only if it's analyzed as an argument
2013-09-03 13:09:09 +04:00
Svetlana Isakova
5af15d607d
removed obsolete use of temporary trace
2013-09-03 13:09:08 +04:00
Svetlana Isakova
a6162cf5ba
fixed: dataFlowInfoForArguments was not set in call candidate context
2013-09-03 13:09:08 +04:00
Svetlana Isakova
52848f6aa4
Use temporary cache when resolve function literals twice
2013-09-03 13:09:08 +04:00
Svetlana Isakova
7fce75bc1f
removed unnecessary parameter
...
resolve argument without temporary trace
(it's resolved and put to call trace in the beginning anyway)
2013-09-03 13:09:08 +04:00
Svetlana Isakova
30b0a72c6b
analyze all arguments with unknown expected type
...
in the beginning of call resolution process
2013-09-03 13:09:07 +04:00
Svetlana Isakova
c8fc2c882d
refactoring: extracted method 'getTypeOfLastExpressionInBlock'
2013-09-03 13:09:07 +04:00
Svetlana Isakova
33ab7a3789
added UNIT_EXPECTED_TYPE
...
use it for coercion to unit instead of repeating analysis twice
2013-09-03 13:09:07 +04:00
Svetlana Isakova
756cb3759b
fixed: use function placeholder when there is no declared value parameter list
...
(not when there is no value parameters)
2013-09-03 13:09:06 +04:00