Commit Graph

639 Commits

Author SHA1 Message Date
Evgeny Gerashchenko b1847698a8 Better jar names for runtime/builtins/jdk-annotations in tests. 2013-01-15 19:41:41 +04:00
Andrey Breslav 69080b72af When generating light class for package, do not generate other classes 2013-01-14 20:20:21 +04:00
Andrey Breslav a91b113cc3 GenerationStrategy is now a strategy 2013-01-14 20:20:20 +04:00
Andrey Breslav 380c8b596a The slow (synchronized) java.util.Stack replaced by com.intellij.util.containers.Stack 2013-01-14 20:20:10 +04:00
Andrey Breslav b5aa44ae49 GenerationState is constructed with BindingContext, not full AnalyzeExhaust 2013-01-14 15:19:50 +04:00
Maxim Shafirov c293fe124d Regression test for KT-3238. The issue itself is incorrect but test may be useful 2013-01-13 03:09:40 +04:00
Andrey Breslav f26412aae4 Utility methods moved to a utility class 2013-01-10 16:16:49 +04:00
Alexander Udalov 4cebd3f75b Fix last if-statement in block codegen
#KT-3203 Fixed
2013-01-10 14:05:28 +04:00
Evgeny Gerashchenko e03eaf6dde Removed @author javadocs from code. 2012-12-28 17:44:31 +04:00
Natalia.Ukhorskaya e9d1171d6d Fix VerifyError for enum constructor with default arguments 2012-12-27 12:29:09 +04:00
Natalia.Ukhorskaya 808c5abc0f Generate constructor without parameters if primary constructor has only parameters with default values
#KT-3085 Fixed
2012-12-27 12:29:06 +04:00
Natalia.Ukhorskaya d4a8ed5ae6 Minor refactoring in tests 2012-12-27 12:29:05 +04:00
Natalia.Ukhorskaya 538aa869b4 Constructor with default arguments for inner class
#KT-2852 Fixed
2012-12-27 12:29:01 +04:00
Andrey Breslav 7995013abb main() added to quickly compile runtime for tests 2012-12-07 21:54:11 +04:00
Natalia.Ukhorskaya a739964c74 Back-end: write correct visibility flags for private inner classes 2012-12-06 17:25:13 +04:00
Natalia.Ukhorskaya 17fa105116 Generate INVOKESPECIAL instruction for private method with default argument 2012-12-06 15:20:43 +04:00
Alexander Udalov 09161d41c9 Regenerate tests 2012-12-03 18:22:15 +04:00
Alexander Udalov c9bdfd2f07 Generate compareTo() properly
Take into account:
1) resolved call to compareTo (instead of always calling Comparable's method)
2) types of both caller and callee, when primitive, to avoid wrong casting
(instead of always using caller's type)

 #KT-3078 Fixed
2012-11-28 17:45:38 +04:00
Evgeny Gerashchenko efc67f3d89 Rewritten CheckLoadVariablesTableTest to test generation framework. 2012-11-28 15:08:57 +04:00
Nikolay Krasko 85f7b4069f Clean up test data after end of the test 2012-11-27 17:32:49 +04:00
Alexander Udalov 8e740a3ee4 Fix .put() for some stack values
#KT-3087 Fixed
2012-11-26 16:06:47 +04:00
Alexander Udalov 9d3907ff98 When-statements & correct line numbers 2012-11-22 22:32:21 +04:00
Alexander Udalov aa898725fc Mark line numbers on compile-time constants 2012-11-22 22:32:17 +04:00
Alexander Udalov 0f496eac21 Try-catch-finally statements & correct line numbers 2012-11-22 22:32:14 +04:00
Alexander Udalov ca587513e3 Fix for finally before empty return 2012-11-22 22:32:10 +04:00
Alexander Udalov 99a908e8fe If-then-else statements & correct line numbers
#KT-3036 Fixed
2012-11-22 22:31:58 +04:00
Alexander Udalov 8564c20baa Fix condition generation of empty if 2012-11-22 22:31:53 +04:00
Alexander Udalov af601b5a90 Single-branch if-statements
Single-branch if-expressions are now compiled to statements if the result is
not used

 #KT-3036 In Progress
2012-11-22 22:31:40 +04:00
Alexander Udalov 9c7724b7f9 Introduce CodegenStatementVisitor
Which will be used for generating statements (as opposed to generating
expressions always, as it is now)

Add StatementGenTest, which will check if we actually generate statements and
not expressions of type Unit, popping them off the stack later
2012-11-22 22:07:01 +04:00
Alexander Udalov cb08d27970 Refactor LineNumberTest
Allow passing custom expected & actual line numbers instead of those before
calls to test.lineNumber()
2012-11-22 18:54:22 +04:00
Natalia.Ukhorskaya 961fde3c8a Remove redundant abstract tests. Use AbstractCodegenTest instead 2012-11-20 14:35:58 +04:00
Natalia.Ukhorskaya 3fc2e5d20c Attempt to split long or double on the stack exception
#KT-3042 Fixed
2012-11-20 13:35:30 +04:00
Natalia.Ukhorskaya 900788a8e0 Fix javaClass property for long and double
#KT-3046 Fixed
2012-11-19 21:19:48 +04:00
Pavel V. Talanov 7bb7445c57 Fix for invoking abstract method in enum 2012-11-19 20:18:45 +04:00
Andrey Breslav 7e7e779e80 No printing of verbose compiler output in Ant task and REPL 2012-11-13 19:38:20 +04:00
Natalia.Ukhorskaya ba2eab526a Extension properties in class: don't put receiver on stack for GETFIELD/PUTFIELD instruction
#KT-3031 Fixed
2012-11-13 19:03:20 +04:00
Andrey Breslav cca21e96c1 Progress class moved to jvm backend 2012-11-13 13:45:44 +04:00
Evgeny Gerashchenko 3fce07b83a Arranged generator classes into packages to make it possible to compile GenerateInjectors separately. 2012-11-12 20:40:23 +04:00
Evgeny Gerashchenko 47dd399cdd Regenerated tests. 2012-11-12 19:54:22 +04:00
Evgeny Gerashchenko 7b677d7ff1 Moved test generating code into TestsGenerator, got rid of duplicates. 2012-11-12 18:30:50 +04:00
Natalia.Ukhorskaya b5a3486131 Back-end: correct indexes of local variables for double and long
#KT-3033 Fixed
2012-11-12 15:03:54 +04:00
Natalia.Ukhorskaya 94fbf2bdf4 Add labels for extension properties
#KT-2824 Fixed
2012-11-12 13:23:00 +04:00
Alexey Sedunov 8cff709bfb #KT-3023 Fixed 2012-11-07 18:33:21 +04:00
Alexander Udalov 415b6f8efe Generate bridges for super-calls only when needed
#KT-2887 Fixed
2012-11-07 17:06:19 +04:00
Alexander Udalov 89b8bbec57 Do not add extra 'this' parameter for TImpl's accessor
Fixes weird cases like super-call from a closure inside a trait with a required
class
2012-11-07 17:06:18 +04:00
Alexander Udalov 2edb89b5c5 Refactor mysterious code in ExpressionCodegen
'super' receiver is now generated in visitSuperExpression()
2012-11-07 17:06:17 +04:00
Alexander Udalov cd35a6626e KT-2963 VerifyError using traits with required classes
#KT-2963 Fixed
2012-11-07 17:06:14 +04:00
Natalia.Ukhorskaya f139b637f3 Automatically cast error for intrinsic methods in array
#KT-2997 Fixed
2012-11-07 16:28:46 +04:00
Natalia.Ukhorskaya 91e83c2860 Wrong instruction for invoke private function
#KT-2202 Fixed
2012-11-02 11:49:10 +04:00
Natalia.Ukhorskaya 481afeb914 Use getfield or putfield instructions for private properties instead of invokevirtual getA or setA 2012-11-02 11:18:47 +04:00