Commit Graph

1651 Commits

Author SHA1 Message Date
Mikhael Bogdanov fa67ab481b VarRemapper -> LocalVarRemapper 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
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
Alexander Udalov 8b18309b01 Don't write "ResolvedCall<? extends CallableDescriptor>"
ResolvedCall has a type parameter D which extends CallableDescriptor.
Hence in Java "ResolvedCall<? extends CallableDescriptor>" = "ResolvedCall<?>"

The same story with these classes:
- ResolutionTask
- CallCandidateResolutionContext
- OverloadResolutionResults
2014-03-17 19:09:09 +04:00
Alexander Udalov 7d6423fcf1 Minor, add assertion messages, fix warnings 2014-03-17 19:09:09 +04:00
Mikhael Bogdanov 769f559adf Wise exception propagation for inlines errors 2014-03-13 14:06:58 +04:00
Mikhael Bogdanov 768c565d3f Fix for rubish labels inside captured field access chains 2014-03-13 10:36:55 +04:00
Mikhael Bogdanov c95001370a Code clean 2014-03-13 10:36:54 +04:00
Mikhael Bogdanov 2dcc0bce46 Inline refactoring: more templates for captured fields
Support of complex lambda inlining cases
2014-03-13 10:36:54 +04:00
Natalia Ukhorskaya df3ed5059c StorageManager for compile-time initializer 2014-03-13 10:07:12 +04:00
Zalim Bashorov 48a28ed406 JS backend: don't aliasing captured variable foo as foo.v.
Moved isVarCapturedInClosure from CodegenBinding to BindingContextUtils.
2014-03-11 20:04:03 +04:00
Steven Allen 7e1e697a5b Avoid throwing unchecked exceptions
Make `ResolvedCall.getValueArgumentsByIndex` return null instead of
throwing an InvalidStateException when resolving invalid arguments.
Invalid arguments are a user error (the user specified the invalid
arguments in their code), not a program error.
2014-03-10 10:46:29 -04:00
Mikhael Bogdanov 7fb9de2654 Fix for "NoSuchFieldError: this$0$inlined" 2014-03-09 11:21:00 +04:00
Nikolay Krasko bbe9be5150 Fix 'No type in binding context for: <some class> from light class generation' exception
#KT-4668 Fixed
2014-03-08 02:55:29 +04:00
Mikhael Bogdanov e54ece8d12 Field access chain update on lambda regeneration 2014-03-07 16:12:10 +04:00
Mikhael Bogdanov 632061b324 Support nested chain of non-inline lambdas inside inline one 2014-03-07 14:53:50 +04:00
Alexander Udalov 0b2c832343 Write KotlinSyntheticClass to anonymous and local classes 2014-03-07 03:08:19 +04:00
Alexander Udalov cbfb626d50 Write KotlinSyntheticClass to generated classes for functions
That is SAM wrappers, callable reference wrappers, local functions and
anonymous functions
2014-03-07 03:08:18 +04:00
Alexander Udalov 8e71fe376f Minor, add toString() to OutputFile for debugging 2014-03-07 03:08:17 +04:00
Mikhael Bogdanov 00764d0ae1 Don't generated redundant class files 2014-03-06 13:02:32 +04:00
Alexander Udalov c74b8e72c7 Extract DescriptorUtils.unwrapFakeOverride() 2014-03-04 18:19:42 +04:00
Alexander Udalov 4c49c39f8d Minor, delete unnecessary parameter from util method 2014-03-04 18:19:42 +04:00
Alexander Udalov eb5aba560e Load class kind in KotlinSyntheticClass annotation
Fix some of the usages of KotlinSyntheticClass header where really package
parts were meant (they were committed by mistake).

DescriptorResolverUtils.isCompiledKotlinPackageClass no longer checks for class
being a compiled package part, because PSI classes are not built for package
parts (according to EmptyPackageFragmentClsStubBuilderFactory)
2014-03-04 18:19:42 +04:00
Mikhael Bogdanov 03ac462dcb jet->kotlin fix 2014-03-03 15:43:48 +04:00
Mikhael Bogdanov 6d1effe981 Inline trait support 2014-03-03 15:43:48 +04:00
Mikhael Bogdanov 286dd50be4 Code clean and simplification 2014-03-03 15:43:48 +04:00
Mikhael Bogdanov 1a011c3f9b Code clean and simplification 2014-03-03 15:43:47 +04:00
Mikhael Bogdanov 55fbdbd302 Code clean 2014-03-03 15:43:47 +04:00
Mikhael Bogdanov 8ac48b746c Closure assertions removal update 2014-03-03 15:43:47 +04:00
Mikhael Bogdanov 2d2ffea807 Construction invocation simplification 2014-03-03 15:43:47 +04:00
Mikhael Bogdanov cd030ec88e VirtualFileFinder refactoring 2014-03-03 15:43:46 +04:00
Mikhael Bogdanov ead2f84a29 Call generator refactoring 2014-03-03 15:43:46 +04:00
Mikhael Bogdanov e7603d2e62 Code simplification and clean
~special flag
2014-03-03 15:43:46 +04:00
Mikhael Bogdanov c8302fdf9c Push arguments refactoring 2014-03-03 15:43:46 +04:00
Mikhael Bogdanov 2d9674089c Support operatorAssign expressions in inline 2014-03-03 15:43:46 +04:00
Mikhael Bogdanov 4d8898c9f2 Rename: Inliner->CallGenerator 2014-03-03 15:43:45 +04:00
Mikhael Bogdanov 476a9ede64 Package rename: asm->inline 2014-03-03 15:43:45 +04:00
Mikhael Bogdanov 3bf952b49c Beautify 2014-03-03 15:43:45 +04:00
Mikhael Bogdanov ee136d6594 Default inline flag = true 2014-03-03 15:43:45 +04:00
Mikhael Bogdanov c716b6eda0 remapping to facades 2014-03-03 15:43:44 +04:00
Mikhael Bogdanov 3f9125cf08 Recursive lambdas regeneration/copy 2014-03-03 15:43:44 +04:00
Mikhael Bogdanov e695f0a516 Extracting class builder interface 2014-03-03 15:43:44 +04:00
Mikhael Bogdanov 9028e24d35 Public visibilities for lambdas in inline methods 2014-03-03 15:43:44 +04:00
Mikhael Bogdanov 8793fc21e0 Support non-inlinable lambda cloning between modules 2014-03-03 15:43:43 +04:00
Mikhael Bogdanov 04be107a06 Remove redundant parameters 2014-03-03 15:43:43 +04:00