Commit Graph

7660 Commits

Author SHA1 Message Date
Svetlana Isakova db253ae7e1 Added CallableDescriptorCollectors
to use it instead List<CallableDescriptorCollector>
2014-03-20 10:06:02 +04:00
Svetlana Isakova 8f269f1806 Refactoring: made explicitExtensionReceiverForInvoke final 2014-03-20 10:06:01 +04:00
Svetlana Isakova f9ebf217a4 Added 'call' reference to ResolvedCall 2014-03-20 10:06:00 +04:00
Svetlana Isakova a829da185d Resolve invoke on any kind of expressions, not only on simple name expressions 2014-03-20 10:05:24 +04:00
Svetlana Isakova c7087d170e Refactoring: extracted isInvokeCallOnVariable 2014-03-20 10:05:24 +04:00
Svetlana Isakova a194756327 Report resolve call errors on JetExpression, not on JetReferenceExpression 2014-03-20 10:05:24 +04:00
Svetlana Isakova 495d6326e5 Refactoring: do not store reference expression in resolution task
Sometimes there is no reference for the call (like '{ ... } ()').
A fake reference can be created, but the case when an error is reported on it can't be easily supported.

There were two usages of this reference: tracing and receiver for invoke.
Tracing strategy is created beforehand. Receiver for invoke uses the callee expression (from variable call), not the reference.
2014-03-20 10:05:23 +04:00
Svetlana Isakova 446aed5cf1 Rename
receiverForVariableAsFunctionSecondCall -> explicitExtensionReceiver
receiverFromVariable -> calleeExpressionAsThisObject
2014-03-20 10:05:23 +04:00
Svetlana Isakova 0a9dbbea79 Remove duplicates from implicit receiver hierarchy while building tasks 2014-03-20 10:05:23 +04:00
Alexander Udalov 1c5df773c5 Disallow named arguments for Java methods
Since they don't have stable names: they're (sometimes) loaded from the
bytecode, which (sometimes) doesn't contain parameter names
2014-03-19 23:24:28 +04:00
Alexander Udalov 5fa1774cc1 Support hasStableParameterNames in KotlinSignature and propagation
#KT-1924 In Progress
 #KT-2830 Fixed
2014-03-19 23:24:28 +04:00
Alexander Udalov 7fcd42f40c Fix annoying parameter name override warning
Some corner cases still remain: KotlinSignature, propagation, deserialized
delegates to Java interfaces

 #KT-1239 Obsolete
 #KT-1924 In Progress
 #KT-2081 Fixed
2014-03-19 23:24:27 +04:00
Alexander Udalov 80a374a6e4 Minor, fix typo in diagnostic message 2014-03-19 23:24:27 +04:00
Alexander Udalov b6b1f2a94a Minor, package "test" in compileJavaAgainstKotlin testData 2014-03-19 23:24:27 +04:00
Alexander Udalov 7b7619d1f3 Refactor CompileKotlinAgainstCustomBinariesTest
Make all filenames start with lowercase letter (instead of half lower / half
upper)
2014-03-19 23:24:27 +04:00
Ilya Ryzhenkov a3b45b919c Temporarily replace usages of extension on iterators in compiler by _tmp() calls 2014-03-19 20:25:16 +04:00
Ilya Ryzhenkov 552776f00b Output fixed for builtins serializer 2014-03-19 20:25:10 +04:00
Mikhael Bogdanov fa67ab481b VarRemapper -> LocalVarRemapper 2014-03-19 19:20:36 +04:00
Mikhael Bogdanov 86a02b54fa Fix for debugger to support inlined lambdas 2014-03-19 19:20:36 +04:00
Mikhael Bogdanov 93367ffd3b Generate local variable table for inlined lambda 2014-03-19 19:20:35 +04:00
Mikhael Bogdanov 75c57f9827 VarRemapper.ParamRemapper class merged into VarRemapper 2014-03-19 19:20:35 +04:00
Mikhael Bogdanov f000d208a6 Removed generateLocalVarTable method 2014-03-19 19:20:35 +04:00
Mikhael Bogdanov d059467727 Write line numbers for inlined lambdas 2014-03-19 19:20:35 +04:00
Nikolay Krasko 607314989c KT-1633 support completion of named function parameters 2014-03-19 17:59:41 +04:00
Andrey Breslav 3255aaf231 Minor. Grammar rules fixed 2014-03-19 17:41:49 +04:00
Alexey Sedunov abcba89ad3 Move top-level declarations: Implement refactoring processor 2014-03-19 15:31:29 +04:00
Alexey Sedunov 05d93df8b8 Unwrap light elements before getting FqName 2014-03-19 15:31:26 +04:00
Mikhael Bogdanov e4cdde4ebf Rename transformation methods to folding 2014-03-19 11:41:24 +04:00
Mikhael Bogdanov 001945cd12 Fix for duplicated fields in regenerated lambda 2014-03-19 11:41:05 +04:00
Mikhael Bogdanov 961cb7d349 Added nullability annotations 2014-03-19 10:42:41 +04:00
Andrey Breslav 6b72d44929 Report useless and hidden imports in LAZY mode 2014-03-17 21:55:18 +04:00
Andrey Breslav 66b4c8d1a9 CONFLICTING_UPPER_BOUNDS reported in LAZY mode 2014-03-17 21:55:18 +04:00
Andrey Breslav db6a6470f9 FINAL_UPPER_BOUNDS checked for classes in LAZY mode 2014-03-17 21:55:18 +04:00
Andrey Breslav f7c5dc179c Eager resolve does not record class object bounds (which are unsupported anyways) 2014-03-17 21:55:17 +04:00
Andrey Breslav 9964ecc883 NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER check for classes is moved to DescriptorResolver 2014-03-17 21:55:16 +04:00
Andrey Breslav 39de1f131b Bind references to type parameters in contraints in LAZY mode 2014-03-17 21:55:16 +04:00
Andrey Breslav 2a82c15465 Report UNSUPPORTED on class object constraints in lazy resolve 2014-03-17 21:55:15 +04:00
Andrey Breslav b72bcfd8ae Type bounds check for class headers moved to DeclarationsChecker 2014-03-17 21:55:15 +04:00
Andrey Breslav 8be40c29cf CYCLIC_INHERITANCE_HIERARCHY reworked
We do not try to recover too gracefully from a cyclic hierarchy any more:
we simply remove all the edges that belong to a cycle instead of intelligently finding one most convenient edge to cut.
This is done in both lazy and eager resolve to keep tests passing.
2014-03-17 21:55:15 +04:00
Andrey Breslav e70571bafb Register properties declared in primary constructors in c.getMembers() 2014-03-17 21:40:22 +04:00
Andrey Breslav 1e0910f9c6 Redeclaration check supported in LAZY mode 2014-03-17 21:40:21 +04:00
Andrey Breslav 674d990ba1 More precise return type in ClassDescriptorWithResolutionScopes.getClassObjectDescriptor() 2014-03-17 21:40:21 +04:00
Andrey Breslav c04ce4401f getDeclaredCallableMembers() fixed for lazy classes
Otherwise synthesized members were not included
2014-03-17 21:40:21 +04:00
Andrey Breslav d97a5a0d63 Report CLASS_OBJECT_NOT_ALLOWED in LazyClassDescriptor 2014-03-17 21:40:20 +04:00
Andrey Breslav e97c5379af Report MANY_CLASS_OBJECTS upon traversing PSI 2014-03-17 21:40:20 +04:00
Andrey Breslav c3c769194d Report UNSUPPORTED on annotations on type parameters of classes 2014-03-17 21:40:20 +04:00
Andrey Breslav 5251b3286e Do not process annotations twice in LAZY mode 2014-03-17 21:40:19 +04:00
Andrey Breslav 81f2f79c79 Import directives are resolved in lazy mode 2014-03-17 21:40:19 +04:00
Andrey Breslav 8bf252f98c MISSING_VAL_ON_ANNOTATION_PARAMETER reported in DeclarationsChecker 2014-03-17 21:40:19 +04:00
Andrey Breslav 999c987d6c ANNOTATION_CLASS_WITH_BODY reported in DeclarationsChecker 2014-03-17 21:40:18 +04:00