Commit Graph

16083 Commits

Author SHA1 Message Date
Andrey Breslav db2ad06e9c Ability to generate light classes when a type parameter appears in supertypes 2014-06-19 22:10:51 +04:00
Andrey Breslav 70f6041c70 Remove assert that does not hold for light classes on erroneous code
When clashing overloads are declared in the code, it's better to still be able to build light classes
2014-06-19 22:10:51 +04:00
Andrey Breslav 851fbbc937 Test data fixed 2014-06-19 22:10:50 +04:00
Andrey Breslav b4d154bb26 Test that clashing signatures are not reported when conflicting overloads are present in CLI 2014-06-19 22:10:50 +04:00
Andrey Breslav f79ddbd523 Minor. Passing Diagnostics instead of BindingContext 2014-06-19 22:10:50 +04:00
Andrey Breslav 74deb58734 Filtering duplicate diagnostics for trait implementations 2014-06-19 22:10:50 +04:00
Andrey Breslav a966bc7ce7 Highlight property accessor headers only, without body 2014-06-19 22:10:49 +04:00
Andrey Breslav 91136ada27 Filtering duplicate diagnostics for package facades and package parts 2014-06-19 22:10:49 +04:00
Andrey Breslav 41d66281ee JvmDeclarationOrigin moved to frontend.java 2014-06-19 22:10:49 +04:00
Andrey Breslav 592328aa27 Test data fixed 2014-06-19 22:10:49 +04:00
Andrey Breslav 38333d6cea CONFLICTING_PLATFORM_DECLARATIONS moved to a JVM-specific class 2014-06-19 22:10:48 +04:00
Andrey Breslav 22c47c2f82 Highlight only declarations, without body, on platform signature clashes 2014-06-19 22:10:48 +04:00
Andrey Breslav 3575c375e3 DelegationToTraitImpl origin kind supported 2014-06-19 22:10:48 +04:00
Andrey Breslav 03a0a6d17a JvmDeclarationOrigin used in FunctionCodegen.generateMethod() 2014-06-19 22:10:48 +04:00
Andrey Breslav 0413f90bec TraitImpl origin supported 2014-06-19 22:10:47 +04:00
Andrey Breslav 87b6ad08b5 Package part and facade origins supported 2014-06-19 22:10:47 +04:00
Andrey Breslav 4fbce3f43e JvmDeclarationOrigin used in newClassBuilder() 2014-06-19 22:10:47 +04:00
Andrey Breslav 6ce86cca72 JvmDeclarationOrigin used in newVisitor() 2014-06-19 22:10:46 +04:00
Andrey Breslav 4e1ceb62b5 JvmDeclarationOrigin used in newMethod() 2014-06-19 22:10:46 +04:00
Andrey Breslav 87a8f52f70 JvmDeclarationOrigin used in newField() 2014-06-19 22:10:46 +04:00
Andrey Breslav 27e61a75a1 Diagnostic tests for duplicate JVM signatures 2014-06-19 22:10:46 +04:00
Andrey Breslav d25b2459d4 Report clashing signatures in the IDE
Expose extra diagnostics about platform signature clashes from light class data

 #KT-1 In Progress
2014-06-19 22:10:45 +04:00
Andrey Breslav 9b3f9fb70d Cache KotlinLightClassForPackage instances per project 2014-06-19 22:10:45 +04:00
Andrey Breslav 3ac3027e16 Compilation fixed 2014-06-19 22:10:45 +04:00
Andrey Breslav 449723e388 Repoting platform declarations clashes in CLI compiler for JVM
#KT-1 In Progress
2014-06-19 22:10:44 +04:00
Andrey Breslav f4f1dd8f8b Basic version of CONFLICTING_PLATFORM_DECLARATIONS diagnostic
#KT-1 In Progress
2014-06-19 22:10:44 +04:00
Andrey Breslav eb31be2871 DiagnosticHolder added to GenerationState 2014-06-19 22:10:44 +04:00
Andrey Breslav 8135391ba4 Recording psi element and descriptor for which a class is being emitted 2014-06-19 22:10:44 +04:00
Andrey Breslav af2cd46327 Replace ClassBuilder.getVisitor().visitMethod() calls with newMethod() 2014-06-19 22:10:43 +04:00
Andrey Breslav a115d6a789 Descriptors added to newMethod() signature 2014-06-19 22:10:43 +04:00
Andrey Breslav f1196a8c59 Descriptors added to newField() signature 2014-06-19 22:10:43 +04:00
Andrey Breslav 9070a6ab37 ScriptDescriptor exposes result property 2014-06-19 22:10:42 +04:00
Alexey Sedunov 7b439c2173 Minor: Formatting changed 2014-06-19 22:04:48 +04:00
Alexey Sedunov 1a16c515f3 Pseudocode: Generate resolved-call-based read instructions for this-expressions 2014-06-19 22:04:47 +04:00
Alexey Sedunov c9c94a59d3 Pseudocode: Copy value of JetThisExpression to enclosed JetSimpleNameExpression 2014-06-19 22:04:46 +04:00
Alexey Sedunov 45bd3a520e Pseudocode: Generate pseudo-values for implicit receivers 2014-06-19 22:04:45 +04:00
Alexey Sedunov 4e4675d24a Minor: Remove redundant cast 2014-06-19 22:04:45 +04:00
Alexey Sedunov 168b32920b Pseudocode: Do not bind call value to callee expressions 2014-06-19 22:04:44 +04:00
Alexey Sedunov e94f96d457 Pseudocode: Have builder return instructions rather than output values 2014-06-19 22:04:43 +04:00
Alexey Sedunov e6ff115772 Minor: Use varargs instead of lists 2014-06-19 22:04:42 +04:00
Alexey Sedunov a980086b54 Pseudocode: Add explicit type predicates to magic instructions 2014-06-19 22:04:41 +04:00
Alexey Sedunov 9b13d05259 Pseudocode: Record resolved information in read/write instructions. Introduce AccessValueInstruction 2014-06-19 22:04:40 +04:00
Alexey Sedunov 587a9558bc Pseudocode: Introduce "merge" instruction 2014-06-19 22:04:39 +04:00
Alexey Sedunov 9ddfc32cdc Pseudocode: Add receiver values to call instructions. Refactor InstructionWithReceiver 2014-06-19 22:04:38 +04:00
Alexey Sedunov 650fac0081 Pseudocode: Introduce ValuedInstruction 2014-06-19 22:04:37 +04:00
Alexey Sedunov c7e4f1d02e Pseudocode: Divide instruction classes into packages 2014-06-19 22:04:36 +04:00
Alexey Sedunov eabe2fcc8a Pseudocode: Translate instruction classes to Kotlin 2014-06-19 22:04:34 +04:00
Andrey Breslav 145358654b hashCode() fixed for AbstractClassTypeConstructor 2014-06-19 21:20:26 +04:00
Evgeny Gerashchenko 27273deeda Extracted package part map implementation to inner class. 2014-06-19 20:12:24 +04:00
Evgeny Gerashchenko 214c0fe4be Extracted constants map implementation to inner class. 2014-06-19 20:12:24 +04:00