Commit Graph

10251 Commits

Author SHA1 Message Date
Alexander Udalov 330efd3967 Remove useless methods from codegen utils 2013-04-10 20:25:16 +04:00
Alexander Udalov 306e4bdbd7 Get rid of FunctionCodegen.MethodInfo
generateMethodBody() is now responsible for generating the local variable
table, therefore the data class MethodInfo is not needed anymore to return
multiple values from it
2013-04-10 20:25:15 +04:00
Alexander Udalov a67866823e Refactor FunctionCodegen.genJetAnnotations()
Always map descriptor to the callable method and take the signature from there,
since this way the signature appears to be more accurate. The whole
"mapSignature vs mapToCallableMethod.getSignature" story needs some
investigation though.

Also make the method non-static, remove useless checks, etc
2013-04-10 20:25:14 +04:00
Alexander Udalov 9187116055 Refactor componentN() function generation
Adopt to the new FunctionGenerationStrategy
2013-04-10 20:25:14 +04:00
Alexander Udalov 34009a2134 Refactor copy() function generation for data classes
Use FunctionCodegen and the newly created FunctionGenerationStrategy to
generate the needed instructions. Make some methods in FunctionCodegen private
since they're not used anymore outside of the class
2013-04-10 20:25:13 +04:00
Alexander Udalov 9bb3663b54 Extract generation logic from FunctionCodegen
Create a new class FunctionGenerationStrategy, which is used to specify exactly
how the body of a function will be generated. This is made primarily to factor
out the hard dependency on PSI in FunctionCodegen.generateMethod(). The PSI
element is now optional and is only used for debug information (as an argument
to newMethod() and endVisit()). This also helps to refactor the confusing logic
about generating default property accessors.

Assert for whether we generate code now for the declared member is now useless,
since generateMethod() will be used also for generating any possible members.

Also surround with "if ( != null)" some method call in genJetAnnotations(), as
null is possible here
2013-04-10 20:25:12 +04:00
Alexander Udalov 98688eed66 Simplify FrameMap construction in FunctionCodegen 2013-04-10 20:25:12 +04:00
Alexander Udalov b2e389d90b Minor refactoring in FunctionCodegen
Combine two nested classes, MethodBounds and LocalVariablesInfo, into one
MethodInfo. Rename some methods. No logic has changed
2013-04-10 20:25:11 +04:00
Alexander Udalov 099fa6c11e Minor refactoring in Function/PropertyCodegen
Check if we need to generate code before calling generateMethod()
There were 4 such checks, 2 of them in PropertyCodegen, one in
FunctionCodegen.gen() and one in ClosureCodegen. Every usage except the last
was prepended with the check
2013-04-10 20:25:10 +04:00
Alexander Udalov 559b742737 Create AnonymousFunctionDescriptor
Will be used to check if the descriptor represents a function literal
2013-04-10 20:25:10 +04:00
Evgeny Gerashchenko d502d45772 Disabled highlighting for variables which are captured in inlined closure. 2013-04-10 20:10:49 +04:00
Evgeny Gerashchenko 6285e5a9f4 Renamed method. 2013-04-10 16:13:45 +04:00
Nikolay Krasko ebd72df058 KT-3491 Wrong (or not obvious) warning
#KT-3491 Fixed
2013-04-10 13:14:49 +04:00
Nikolay Krasko 7577177a06 Make script configurable from external parameters 2013-04-10 13:14:48 +04:00
Peter Tseng 1025ab4397 Implement quickfix for MANY_CLASSES_IN_SUPERTYPE_LIST 2013-04-09 20:47:29 +04:00
Wojciech Lopata 9000f6971c ChangeVariableTypeFix 2013-04-09 20:35:18 +04:00
Wojciech Lopata cdd41f0fa1 Map RETURN_TYPE_MISMATCH_ON_OVERRIDE to ChangeFunctionReturnTypeFix 2013-04-09 20:35:18 +04:00
Wojciech Lopata c281796e64 Quickfix for COMPARE_TO_TYPE_MISMATCH 2013-04-09 20:35:18 +04:00
Wojciech Lopata 13022922af ChangeFunctionReturnTypeFix quickfix 2013-04-09 20:35:17 +04:00
Andrey Breslav 03f428d833 Merge pull request #241 from katyasosa/master
Added appendBytes and appendText functions to kotlin.io.File
2013-04-09 09:07:40 -07:00
Natalia.Ukhorskaya 1dce3b5da4 Invoke top level function with default argument using src class 2013-04-09 17:11:25 +04:00
Alexey Sedunov ce5ad80881 Fix "family names" of intentions 2013-04-09 16:22:22 +04:00
Alexey Sedunov 1ed2d951fe Fix syntax error in template 2013-04-09 13:15:48 +04:00
Alexey Sedunov 691a62fa2b Add assignment creation to JetPsiFactory 2013-04-09 13:15:47 +04:00
Alexey Sedunov 0b52696fe1 Fix intention description 2013-04-09 13:15:47 +04:00
Natalia.Ukhorskaya e383a41452 Refactor JetLineMarkerProvider 2013-04-09 12:52:33 +04:00
Natalia.Ukhorskaya 1e86fe1a56 Remove redundant check (it is included in LightClassUtils.getPsiClass) 2013-04-09 12:52:32 +04:00
Natalia.Ukhorskaya a943e68225 Rename method 2013-04-09 12:52:30 +04:00
Natalia.Ukhorskaya eb768ea59a Do not create LightClasses for kt files as sources for libraries 2013-04-09 12:52:29 +04:00
Ekaterina Sosa a34a6b71c1 KT-3376 Added appendText and appendBytes functions to kotlin.io.File
#KT-3375 fixed
2013-04-09 00:56:44 +04:00
Alexey Sedunov d424686f1a Fix bug in intention which caused hanging out 2013-04-04 20:18:04 +04:00
Evgeny Gerashchenko b1ea79113f Replaced hard exception with LOG.error. 2013-04-04 17:51:51 +04:00
Evgeny Gerashchenko 50b2f79b2e Removed tooltip for variable as function(-like) call. 2013-04-04 17:33:59 +04:00
Evgeny Gerashchenko 73d44fb18b Removed leading "/" to avoid tests failing. 2013-04-04 17:33:59 +04:00
Evgeny Gerashchenko db003347dd Refactored JetHighlightingColors to IDEA 12.1+ colors API. 2013-04-04 17:33:59 +04:00
Evgeny Gerashchenko 3c31620f5a Removed commented out code from color settings.
When we implement actual highlighting for KDoc highlighting, returning these lines would be easy.
2013-04-04 17:33:58 +04:00
Evgeny Gerashchenko f53af70ad6 Added separate highlighting keys for variables invoked as function and function-like. 2013-04-04 17:33:58 +04:00
Evgeny Gerashchenko a6293e10d9 Removed green color for variable as function.
#KT-3296 in progress
2013-04-04 17:33:57 +04:00
Alexey Sedunov af8c3792f6 Tests for code transformation: if statement with assignments <-> assignment with if expression 2013-04-04 15:52:17 +04:00
Alexey Sedunov 9f828b8f41 Code transformation: if statement with assignments <-> assignment with if expression 2013-04-04 15:51:41 +04:00
Svetlana Isakova d843608298 'checkType' for qualified properties as function arguments 2013-04-03 20:44:47 +04:00
Nikolay Krasko bab6fd570d Remove illegal assert 2013-04-03 18:18:05 +04:00
Nikolay Krasko 965bfe682c Check found fqnames for validness before searching for descriptors 2013-04-03 18:18:05 +04:00
Nikolay Krasko 7885e48eaf Setup handlers at the place where lookup elements are created 2013-04-03 18:18:04 +04:00
Nikolay Krasko e94843b7b3 JS checker tests 2013-04-03 18:18:03 +04:00
Evgeny Gerashchenko 6e43b78deb KT-3459 "import java.util.*" is removed by optimize imports if the only usage is a SAM constructor
#KT-3459 fixed
2013-04-03 17:44:01 +04:00
Svetlana Isakova 8f1b728a08 try to use bounds in type inference
if some parameters are unknown
2013-04-03 15:51:17 +04:00
Svetlana Isakova 2a36da9549 small refactoring
removed unnecessary variable
added annotation
2013-04-03 15:51:17 +04:00
Evgeny Gerashchenko 0de4b6890e Fixed compilation. 2013-04-03 15:37:06 +04:00
Evgeny Gerashchenko c4f2740074 KT-3469 AssertionError: Couldn't find super type for super function
Class descriptor for Java class was recreated in KotlinSignatureInJavaMarkerProvider.

 #KT-3469 fixed
2013-04-03 15:13:10 +04:00