Commit Graph

16830 Commits

Author SHA1 Message Date
Alexey Sedunov 85bb4f9b8e Pseudocode: Generate read instructions on call expression (instead of
callee)
2014-07-28 13:07:33 +04:00
Alexey Sedunov 9f3ebe5f3b Pseudocode: Generate merge instruction regardless of number of branches 2014-07-28 13:07:32 +04:00
Alexey Sedunov d008cb8c21 Pseudocode: Do not regenerate receiver values 2014-07-28 13:07:30 +04:00
Alexey Sedunov 77bbf8f73b Pseudocode: Generate fake values for Unit/Nothing-typed expressions 2014-07-28 13:07:29 +04:00
Alexey Sedunov 2d3ac9109b Pseudocode: Generate synthetic VALUE_CONSUMER for both property and class delegates 2014-07-28 13:06:46 +04:00
Alexey Sedunov d07deeb5fb Pseudocode: Generate UNSUPPORTED_ELEMENT for misplaced returns 2014-07-28 13:04:02 +04:00
Alexey Sedunov b0bf11c51e Pseudocode: Consume value of true condition in while-loop 2014-07-28 13:04:01 +04:00
Alexey Sedunov e11ffb8542 Pseudocode: Replace UnsupportedElementInstruction with UNSUPPORTED_ELEMENT magic.
Generate UNSUPPORTED_ELEMENT for assignments with unresolved left-han side
2014-07-28 13:04:00 +04:00
Alexey Sedunov c32d112e67 Pseudocode: Generate magics for cast expressions 2014-07-28 13:03:12 +04:00
Alexey Sedunov 00dd1dbb0b Control-Flow Analysis: Compute STATEMENT slice using control-flow information 2014-07-28 13:03:10 +04:00
Alexey Sedunov ffd4af872c Pseudocode: Track merged values. Compute closure of value usages over merge instructions. Exclude merge instructions from usage lists 2014-07-28 13:03:09 +04:00
Alexey Sedunov 267ea81bbe Pseudocode: Avoid null input values 2014-07-28 13:03:07 +04:00
Alexey Sedunov 8083ffad47 Pseudocode: Add mapping from pseudo-values to PSI elements 2014-07-28 13:03:06 +04:00
Alexey Sedunov 4f54d833d3 Pseudocode: Generate instructions for callable reference expressions 2014-07-28 13:03:05 +04:00
Alexander Udalov fd27518070 Fix build tool plugins after recent changes to CLI 2014-07-26 02:28:51 +04:00
Alexander Udalov 8ed2413395 Minor, use javaClass instead of getClass()
Fix Maven build
2014-07-26 01:34:42 +04:00
Alexander Udalov c24c799819 Fix NoSuchMethodError on private components of data classes
A follow-up to
https://github.com/JetBrains/kotlin/commit/d5681540ec47ee5c9a548ba56df8b4e20097549d
2014-07-26 01:31:11 +04:00
Alexander Udalov c69303fd1d Fix lots of deprecation warnings on ASM code
In the vast majority of cases it's known that we're calling a class method and
not an interface method
2014-07-26 01:05:03 +04:00
Alexander Udalov 99025de748 Drop "-jar" and "-output" kotlinc-jvm CLI arguments
In favor of a brand new "-d" option
2014-07-26 00:32:28 +04:00
Alexander Udalov 9908d797e0 Minor, fix LoadBuiltinsTest test data 2014-07-26 00:27:31 +04:00
Alexander Udalov 6755e7ec2e Drop hack for OBJECT$/INSTANCE$ migration 2014-07-26 00:22:38 +04:00
Alexander Udalov de0f751207 Replace object$ -> OBJECT$, instance$ -> INSTANCE$ in the project 2014-07-26 00:21:05 +04:00
Alexander Udalov 549a38ca6f Minor, widen the scope for INSTANCE$/OBJECT$ replacement 2014-07-25 21:53:03 +04:00
Alexander Udalov 133b2918e1 Drop a hack which allowed to make Unit an object 2014-07-25 21:45:15 +04:00
Alexander Udalov 93fa7cb330 Increase ABI version
Related changes include:
- kotlin.Unit is now a named object
- "instance$" was renamed to "INSTANCE$"
- "object$" was renamed to "OBJECT$"
- Intrinsics#stupidSync() was dropped
2014-07-25 21:34:12 +04:00
Alexander Udalov 98ffdb3e32 Minor, delete Object from some test data 2014-07-25 21:19:39 +04:00
Alexander Udalov a5321ba9f0 Drop deprecated Intrinsics#stupidSync 2014-07-25 21:19:39 +04:00
Alexander Udalov fb958897a9 Introduce kotlin.Cloneable
- Cloneable is a trait with a single protected member 'clone', which is mapped
  to java.lang.Cloneable on JVM
- 'clone' is non-abstract to be able to call 'super.clone()' in the
  implementations. Also if you need your class to be Cloneable, most of the
  time inheriting from Cloneable and calling 'super.clone()' will work
- hack 'super.clone()' in JVM intrinsics and TImpl delegation generation
- make arrays Cloneable, handle 'clone()' calls in the intrinsic

 #KT-4890 Fixed
2014-07-25 21:19:39 +04:00
Alexander Udalov f3309d1fa7 Don't ignore methods of Object in tests
Ignore methods of kotlin.Any instead
2014-07-25 21:19:39 +04:00
Alexander Udalov cdbdfaf182 Make Pair and Triple data classes 2014-07-25 21:19:38 +04:00
Alexander Udalov 5dc37217c8 Remove Object from supertypes in LoadJava testData 2014-07-25 21:19:38 +04:00
Alexander Udalov a79398fa00 Don't load Object as a supertype for Java classes
#KT-4890 In Progress
 #KT-5002 Fixed
2014-07-25 21:19:37 +04:00
Alexander Udalov bea740b478 Use javaClass instead of getClass() 2014-07-25 21:19:37 +04:00
Svetlana Isakova 8c13a76805 KT-5527 Double TYPE_MISMATCH diagnostic when returns object
#KT-5527 Fixed
2014-07-25 21:17:31 +04:00
Alexander Udalov 485f63e1cd Rename object$ -> OBJECT$, instance$ -> INSTANCE$
According to Java code conventions, public static final constants should be
named with all capital letters
2014-07-25 21:15:13 +04:00
Alexander Udalov 1168cf62bf Don't list symbols from test data in "Go to symbol"
#KT-4094 Fixed
2014-07-25 21:15:03 +04:00
Pavel V. Talanov 9c58cb9f31 Pass project explicitly to JetSourceFilterScope 2014-07-25 21:15:03 +04:00
Pavel V. Talanov 3f7050635c Builtins: check for function and extension function types by fq names
As opposed to checking by descriptor
2014-07-25 21:15:03 +04:00
Zalim Bashorov a811de9bbd Minor: Unit.VALUE -> Unit in Java code. 2014-07-25 21:03:10 +04:00
Svetlana Isakova 16dfdd2f03 Record type resolution scope for unresolved super type qualifier 2014-07-25 19:23:04 +04:00
Zalim Bashorov c767ffc3e7 Unit.VALUE -> Unit in testData 2014-07-25 17:16:40 +04:00
Zalim Bashorov 4a8519615a Unit.VALUE -> Unit in code. 2014-07-25 17:16:40 +04:00
Zalim Bashorov c85ec97589 Minor: revert dc68d78 (Minor: revert changes in StackValue and fix tes data. another fixes) 2014-07-25 17:16:40 +04:00
Zalim Bashorov 4514792104 Unit as object 2014-07-25 17:16:40 +04:00
Valentin Kipyatkov 3c33b7dcfa Fixed KT-5247 Java to Kotlin: convert java @interfaces into Kotlin annotation classes
#KT-5247 Fixed
2014-07-25 16:54:24 +04:00
Valentin Kipyatkov d7e857ed0a J2K: fixed bug 2014-07-25 16:54:24 +04:00
Valentin Kipyatkov d154d2e25b Fixed assertion + refactored code making it more simple 2014-07-25 16:54:24 +04:00
Valentin Kipyatkov b9bd5c8fb8 Fixed KT-5443 J2K converter crashes when code contains catch with multiple exception types
#KT-5443 Fixed
2014-07-25 16:54:24 +04:00
Valentin Kipyatkov 957ffb0313 J2K: adding type arguments where they are needed and removing them where they are redundant 2014-07-25 16:54:24 +04:00
Valentin Kipyatkov f836278acc J2K: Fixed conversion of <primitive type>.class
#KT-5428 Fixed
2014-07-25 16:54:24 +04:00