Commit Graph

204 Commits

Author SHA1 Message Date
Alexander Udalov 4dcc373a5a Fix concrete method inheritance in interfaces
For each non-abstract non-declared (i.e. inherited from supertypes) method in
an interface we generate its static form to the TImpl, which calls the TImpl
method from the corresponding supertype.

The accidental override tests changed because we're now trying to generate the
delegate for the super method, not knowing that it will clash with the declared
method

 #KT-2888 Fixed
 #KT-5393 Fixed
2015-06-17 16:23:56 +03:00
Denis Zharkov 200dee2761 Replace deprecated annotations in whole project 2015-06-12 09:23:32 +03:00
Valentin Kipyatkov 8fd6a64be9 Refactored methods for val/var in PSI 2015-06-01 18:23:34 +03:00
Natalia Ukhorskaya 2d509b3211 Write correct lineNumbers for properties with comments 2015-05-27 11:17:46 +03:00
Pavel V. Talanov ac2cb9af74 Remove some usages of KotlinBuiltIns.getInstance()
Introduce DeclarationDescriptor.builtIns extension to get builtins where descriptors are available
Introduce various utilities in KotlinBuiltIns to check for primitive types and get fq names of builtins
2015-04-28 12:49:34 +03:00
Alexander Udalov 7e86d87133 Move built-in companion intrinsics to core to reuse in reflection 2015-04-07 20:06:23 +03:00
Pavel V. Talanov 06916d98c6 default -> companion: replace all mentions of default and default object 2015-03-17 15:47:39 +03:00
Denis Zharkov 67f97fea42 Prohibit data classes with no primary constructor 2015-03-11 17:45:28 +03:00
Denis Zharkov 8305d73682 Drop unused interface method
There was the only usage and it's redundant.
JetClass' implementation name is refined.
2015-03-11 17:45:22 +03:00
Denis Zharkov cb881d2628 Drop some ClassDescriptor.getConstructors() usages
supposing that there is only primary constructor
2015-03-11 17:45:22 +03:00
Nikolay Krasko 1f79e0905f Intrinsic default objects implementation 2015-03-05 01:30:37 +03:00
Alexander Udalov 5903b8c4a7 Reorder and optimize dependencies between modules and libraries
- drop 'kotlin-runtime' and other dependencies which are exported by
  other modules ('util' and 'util.runtime' in case of 'kotlin-runtime')
- make all Kotlin modules from the compiler depend on 'util' for clarity
- put 'util' and 'util.runtime' to the bottom of the list everywhere: when
  kotlin-runtime gets reflection, classes from core/ should have higher
  priority than their previous versions from kotlin-runtime.jar
2015-01-28 19:58:35 +03:00
Alexander Udalov 64c6055030 Rename jet -> kotlin in frontend, descriptors: resolve
org.jetbrains.jet.lang.resolve -> org.jetbrains.kotlin.resolve
2015-01-11 05:09:01 +03:00
Alexander Udalov 0499ec94ca Rename jet -> kotlin in frontend: call resolution
org.jetbrains.jet.lang.resolve.calls -> org.jetbrains.kotlin.resolve.calls
2015-01-10 20:25:15 +03:00
Alexander Udalov 524fdc2527 Rename jet -> kotlin in descriptors, types, names
org.jetbrains.jet.lang.descriptors -> org.jetbrains.kotlin.descriptors
org.jetbrains.jet.lang.types -> org.jetbrains.kotlin.types
org.jetbrains.jet.lang.resolve.name -> org.jetbrains.kotlin.name
2015-01-10 15:52:20 +03:00
Alexander Udalov e88f89d1c6 Rename jet -> kotlin in descriptors: built-ins
org.jetbrains.jet.lang.types.lang -> org.jetbrains.kotlin.builtins
2015-01-10 15:52:16 +03:00
Alexander Udalov d384e50a97 Rename jet -> kotlin in frontend: PSI
org.jetbrains.jet.lang.psi -> org.jetbrains.kotlin.psi
2015-01-10 15:52:14 +03:00
Alexander Udalov f37e2f173d Rename package jet -> kotlin in util, util-runtime
org.jetbrains.jet.config -> org.jetbrains.kotlin.config
org.jetbrains.jet.utils -> org.jetbrains.kotlin.utils

Also move coreLib.kt to package 'org.jetbrains.kotlin.utils'
2015-01-08 23:32:08 +03:00
Alexander Udalov 759b5bd85c Move *OutputFile to package org.jetbrains.kotlin.backend.common.output 2015-01-06 05:15:13 +03:00
Alexander Udalov 329d9da8c8 Rename package jet -> kotlin in backend-common
org.jetbrains.jet.backend.common -> org.jetbrains.kotlin.backend.common
org.jetbrains.jet.codegen.bridges ->
org.jetbrains.kotlin.backend.common.bridges
2015-01-06 05:15:12 +03:00
Natalia Ukhorskaya e35b960eb5 Stepping: do not write line numbers for call arguments
#KT-3080 Fixed
2014-12-23 14:40:26 +03:00
Ilya Ryzhenkov be717f48f8 Stop using deprecated APIs 2014-12-16 17:33:24 +03:00
Andrey Breslav f9fea88749 PlatformStaticGenerator reworked to use FunctionCodegen.generateMethod() 2014-12-16 16:23:35 +03:00
Denis Zharkov 8b80daa2a1 Replaced filterIsInstance with class-literal argument with simplified version 2014-12-01 22:28:34 +03:00
Andrey Breslav c9c16696f1 Do not fail when delegating to an (unsupported) dynamic type on the JVM 2014-12-01 20:43:46 +03:00
Valentin Kipyatkov 1983a9f3da Replaced usages of JetScope.getAllDescriptors() with JetScope.getDescriptors() (where makes sense) 2014-11-12 21:24:55 +03:00
Alexander Udalov eb96b97bc8 Get rid of underscores in private property names
They were used to workaround duplicate signature errors, but this is no longer
relevant since no accessors are generated for private properties with backing
fields
2014-11-11 18:35:37 +03:00
Nikolay Krasko 0568cc7ee7 Avoid calling descriptors.toString() in production code without need 2014-11-06 16:48:04 +03:00
Natalia Ukhorskaya 4eb93c06b1 Write line numbers for bridge methods (line for class header) 2014-11-06 16:21:52 +03:00
Evgeny Gerashchenko 84c7b05781 Stabilized order of methods inherited by delegation. 2014-10-15 20:38:16 +04:00
Andrey Breslav 4a132599fd getAllOverriddenDescriptors() moved to DescriptorUtils 2014-10-13 15:38:22 +04:00
Andrey Breslav a737352b5d Assertions when approximating platform types in delegation by expression 2014-10-13 15:38:13 +04:00
Michael Nedzelsky df15e4767b extract getTraitMethods from ImplementationBodyGen to CodegenUtil 2014-10-07 08:37:20 +04:00
Svetlana Isakova 20f3403c80 Rename: this object, receiver argument -> dispatch receiver, extension receiver 2014-10-01 18:52:51 +04:00
Alexander Udalov 2f12875515 Extract "values" and "valueOf" names as static constants 2014-09-09 20:42:38 +04:00
Alexander Udalov 3b05ec0df4 Remove duplicate code from JvmCodegenUtil 2014-09-09 20:42:37 +04:00
Alexander Udalov d52eff0825 JS: update support of enum's values() and valueOf() 2014-09-09 20:42:37 +04:00
Pavel V. Talanov 77416aba5f Add dependency on intellij-core explicitly
util module doesn't export intellij-core dependency
2014-08-22 13:09:08 +04:00
Pavel V. Talanov 6588310736 Add missing public modifiers in project code 2014-08-12 21:13:46 +04:00
Michael Nedzelsky 12db8f1551 JS backend: support for explicit delegation
#KT-4479 Fixed
2014-08-09 10:24:02 +04:00
Andrey Breslav 98e87f2f95 Removing unneeded "public override val" from constructors across the project
#KT-4295 Fixed
2014-07-05 18:31:55 +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
Pavel V. Talanov 9aa5681d80 Introduce JetParameter#hasValOrVarNode() and use it instead of getValOrVarNode() 2014-05-21 15:39:35 +04:00
Peter Rybin 59a09c04af Extract data class generation logic into backend-independent module 2014-05-06 15:45:27 +04:00
Alexander Udalov 34e7584aec Move some utilities from OverridingUtil to OverrideResolver
OverridingUtil will be present at runtime and we should strive to minimize the
size of our runtime classes

Also add a comment to getOverriddenDescriptors()
2014-04-17 19:51:30 +04:00
Alexander Udalov 3dffd428ad Refactor OverrideResolver and OverridingUtil
Fix warnings, simplify code. Untangle a very complex code related to
diagnostics on multiple default values and different names of parameters in
supertypes; fix a bug there, add test
2014-04-17 19:51:30 +04:00
Alexander Udalov 4a60c59f39 Minor, fix KotlinSignature of DFS methods 2014-04-14 16:02:10 +04:00
Alexander Udalov 79e7ee91e4 Generate bridges for trait implementations properly
The intent was to keep the bridge codegen model as simple as possible: we
should be able to figure out all necessary bridges only by a minimal interface
that FunctionHandle provides (isAbstract, isDeclaration, getOverridden)

Add different tests for bridges

 #KT-318 Obsolete
2014-04-11 21:57:47 +04:00
Alexander Udalov b0db6a4526 Rewrite bridge generation to Kotlin, make it abstract 2014-04-11 21:57:46 +04:00
Alexander Udalov 8e71fe376f Minor, add toString() to OutputFile for debugging 2014-03-07 03:08:17 +04:00