Alexander Udalov
70adb0f4e2
Temporarily prohibit non-local returns for some stdlib functions
...
Make InlineUtil work with FQ names, not descriptors
#KT-5496 Fixed
#KT-5497 Fixed
2014-07-19 02:13:27 +04:00
Alexander Udalov
540b87a1dc
Support object array annotation arguments in deserialization
2014-07-19 02:13:26 +04:00
Alexander Udalov
d5681540ec
Fix NoSuchMethodError for data classes with private parameters
...
Introduced in a07909bb52
2014-07-19 02:13:26 +04:00
Alexander Udalov
65c21561a4
Fix super constructor calls of anonymous objects and local classes
...
If a class inherits from another class which captures something (outer class
instance, receiver parameter, local variables, etc.), the constructor of the
former class should contain all the parameters of the super constructor as its
own parameters, so that it could make a proper super call. All such parameters
are now replicated in the derived constructor with kind = SUPER_CALL_PARAM,
except an instance of the outer class (kind = OUTER), which can be taken from
the derived's own OUTER when it has one, to prevent multiple passing of the
same argument.
Previously it worked only when inheriting from inner classes via a special hack
(ConstructorFrameMap).
Also reuse recently introduced ArgumentGenerator to automatically take care of
default and vararg arguments of super constructor
#KT-3581 Fixed
#KT-5342 Fixed
#KT-5343 Fixed
2014-07-18 16:26:46 +04:00
Alexander Udalov
a07909bb52
Don't generate unnecessary accessors for private class properties
2014-07-17 19:18:05 +04:00
Alexander Udalov
4bdf7e3426
Use direct field access to trivial class properties
...
#KT-3845 Fixed
2014-07-17 19:18:05 +04:00
Denis Zharkov
0b2b8ba816
Fixed KT-5493: NPE fix
2014-07-17 18:43:44 +04:00
Denis Zharkov
0e683b0b99
Added "optimize" flag to settings everywhere
2014-07-15 21:34:32 +04:00
Denis Zharkov
0f5e29df9b
tests added
2014-07-15 21:26:53 +04:00
Pavel V. Talanov
7269e383cf
Rewrite JetPsiFactory to kotlin, make project a property
...
Instead of passing to every function
All static methods are now member functions
2014-07-15 16:41:12 +04:00
Alexey Sedunov
d636d362b7
Pseudocode: Generate proper instructions for when conditions. Eliminate unnecessary magics
2014-07-11 19:13:46 +04:00
Alexey Sedunov
0a8fa404bf
Pseudocode: Generate additional returns for implicit return values (lambdas, functions with expression bodies)
2014-07-11 19:13:26 +04:00
Alexey Sedunov
1c75a5f642
Pseudocode: Generate instructions for superclass constructor calls. Consume value of delegate expression in the by-clause
2014-07-11 19:13:21 +04:00
Alexey Sedunov
02342fce5d
Pseudocode: Store lazily computed value usage map in the pseudocode
2014-07-11 19:13:18 +04:00
Evgeny Gerashchenko
708816f09c
Fixed generating method calls from same module when inlining.
2014-07-11 14:54:12 +04:00
Alexander Udalov
947c9fb1bf
Minor, rename "inner" -> "nested" in tests
2014-07-10 20:30:45 +04:00
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
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
d988256831
Refactor: Remove context parameter from BindingContextUtils.descriptorToDeclaration utilities family
2014-07-09 18:19:36 +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
6ddeb85c00
Added checking for ONLY_LOCAL_RETURN in actual parameter of inline function
2014-07-09 09:46:28 +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
53ee30992b
Record resolved call on call (not on element)
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
ae8757f6b8
Added tests on resolved call for 'this'
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
857aa76cff
Added tests for argument mapping
2014-07-08 14:48:17 +04:00
Svetlana Isakova
02f5293b3d
Added CallCompleter component
...
Regenerated injectors
2014-07-08 14:48:15 +04:00
Alexander Udalov
e502d8dcc6
Remove JetScopeAdapter
2014-07-07 18:15:32 +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
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
Michael Bogdanov
6b34035455
Avoid exceptions in test setUp cause tearDown would not be invoked
2014-07-07 10:51:47 +04:00
Michael Bogdanov
da01a11137
New diagnostic for non-local return annotation
2014-07-07 10:51:46 +04:00
Michael Bogdanov
8092717da4
Support non local return generation, support non local return inlining
2014-07-07 10:51:46 +04:00
Mikhael Bogdanov
02c6bdeaa3
Inline test data structure changed
2014-07-07 10:51:46 +04:00
Andrey Breslav
06d060d5de
KT-4295 Wrong diagnostic about "weaken access privilege" when override properties in constructor
...
#KT-4295 Fixed
2014-07-05 17:47:00 +04:00
Pavel V. Talanov
0a43c38bae
Change AnalyzerFacade#createSetup to accept a list of synthetic files and a scope for physical source files
...
Make DeclarationProviderFactory a project service
2014-07-03 20:46:50 +04:00
Pavel V. Talanov
245919d691
Use module to resolve annotation classes in AnnotationDescriptorLoader
2014-07-03 20:46:36 +04:00
Pavel V. Talanov
7ee7047753
Deserializer: use module to search for dependencies in TypeDeserializer
2014-07-03 20:46:33 +04:00
Andrey Breslav
6422bafb7a
More tests for synchronized() {}
2014-07-03 18:39:57 +04:00
Andrey Breslav
90690e0711
KT-4825 Implement "synchronized" properly via monitorenter/monitorexit
...
#KT-4825 Fixed
2014-07-02 22:05:45 +04:00
Alexander Udalov
c0fc5cfb53
Disallow named arguments for SAM adapters
...
SAM adapters are Java functions, and named arguments are not allowed for Java
functions
#KT-5022 Fixed
2014-07-02 20:35:31 +04:00
Alexander Udalov
bc8bce7ca1
Provide "toString" for reflection objects
2014-07-02 01:55:55 +04:00
Alexander Udalov
c5d92cc03e
Provide "equals" and "hashCode" for reflection objects
2014-07-02 01:55:55 +04:00