Commit Graph

758 Commits

Author SHA1 Message Date
Pavel V. Talanov 0343fd8fc7 Rework class objects
Class objects have name "Default" by default
Do not produce synthetic class objects
Class objects have new semantics:
    class "A" has class object "B" if literal "A" can be used as a value of type "B"
Class objects act like ordinary nested objects
    i.e. are accessible from class scope via getClassifier()
Jvm backend: class object fields and class have the name of class object ("Default")
	as opposed to special "OBJECT$" and "object"
Serialization: only the name of class object is needed to serialize data
2015-02-16 15:38:27 +03:00
Evgeny Gerashchenko 9f159b1fea Extracted cli-parser to separate library. Removed full dependency jps-plugin -> idea-full. 2015-02-13 21:51:50 +03:00
Alexander Udalov a6ac56ae5a Sort source files in JetCoreEnvironment
Is supposed to help make error situations more deterministic
2015-02-09 21:14:03 +03:00
Alexander Udalov 339a38b69b Minor, use module.resolveTopLevelClass() utility 2015-02-09 21:14:03 +03:00
Alexander Udalov 4128655893 Report incomplete hierarchy error
This is the case when you reference a Java class in Kotlin whose superclass is
not resolved. Previously this fact was swallowed by LazyJavaClassDescriptor
leading to mysterious compilation errors

 #KT-5129 Fixed
2015-02-09 21:14:02 +03:00
Alexander Udalov 28d8c8906a Use module instead of trace in light class search
Fixes weird and infrequent compilation errors in KotlinLightClassForPackage.kt
2015-02-09 21:14:02 +03:00
Nikolay Krasko 8dd910bd36 Convert to Kotlin KotlinLightClassForPackage: fixes for j2k converter 2015-02-06 23:53:15 +03:00
Evgeny Gerashchenko e5fd6bc067 Minor. Inlined trivial functions. 2015-02-06 17:44:42 +03:00
Evgeny Gerashchenko 5b89f88447 Minor. Simplified getObsoletePackageParts() and similar functions. 2015-02-06 17:44:40 +03:00
Evgeny Gerashchenko f071802e19 Simplified process of filtering out obsolete package parts and loading descriptors from incremental caches.
Now when file is deleted or dirty (compiled right now), its old package part is used. Current package of file doesn't matter.
2015-02-06 17:44:39 +03:00
Nikolay Krasko a8557180f1 Register KotlinJavaPsiFacade as component 2015-02-02 14:15:01 +03:00
Andrey Breslav 4d66551067 Call analyzeDeclarations() that includes files where it was called before refactoring 2015-01-29 16:07:29 +03:00
Andrey Breslav ed4da90dcd Outer DataFlowInfo delivered to local class members 2015-01-29 16:07:26 +03:00
Andrey Breslav 5b4682dd0e LazyTopDownAnalyzer does not depend on ResolveSession or ScopeProvider any more 2015-01-29 16:07:25 +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 2c8cad6628 Minor, inline some CompileEnvironmentUtil utilities 2015-01-28 19:58:34 +03:00
Alexander Udalov 7e988b04b4 Refactor compiler source root duplicate check 2015-01-28 19:58:34 +03:00
Alexander Udalov 93f02aeead Add source directories to classpath in CLI compiler
Move this logic from Ant and Maven plugins
2015-01-28 19:58:33 +03:00
Alexander Udalov 59937aad14 CLI compiler: add runtime after user's classpath
Otherwise weird compilation errors in our project are expected as soon as
kotlin-runtime.jar will contain modules from "core". Suppose a Java class from
core/ has changed; the CLI compiler will then see its own (old) version of that
class from kotlin-runtime.jar before the actual new version from sources
2015-01-28 19:58:30 +03:00
Nikolay Krasko 234f56a3c4 Compiler jar locator 2015-01-26 14:25:07 +03:00
Dmitry Jemerov 431cdd2245 delete unused OperationModeProvider class 2015-01-20 19:51:24 +01:00
Alexander Udalov 21b2fa2509 Update copyrights to 2015 2015-01-13 01:15:18 +03:00
Alexander Udalov 17227bb4fe Rename org.jetbrains.kotlin.plugin -> org.jetbrains.kotlin.idea 2015-01-13 01:14:31 +03:00
Alexander Udalov 63cefea6e9 Rename jet -> kotlin in frontend
org.jetbrains.jet -> org.jetbrains.kotlin

Also rename package slicedmap to slicedMap
2015-01-11 15:20:51 +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 634ed0b652 Rename jet -> kotlin in frontend: lazy resolve
org.jetbrains.jet.lang.resolve.lazy -> org.jetbrains.kotlin.resolve.lazy
2015-01-11 05:09:00 +03:00
Alexander Udalov 8affc31303 Rename jet -> kotlin in descriptor.loader.java, frontend.java
Split package 'lang/resolve/java' into two semantically different packages:
'resolve/jvm' and 'load/java'. Also rename 'lang/resolve/kotlin' to
'load/kotlin'
2015-01-11 05:08:57 +03:00
Alexander Udalov 88670eb78a Rename jet -> kotlin in frontend: diagnostics
org.jetbrains.jet.lang.diagnostics -> org.jetbrains.kotlin.diagnostics
2015-01-10 17:38:07 +03:00
Alexander Udalov fe67b374e7 Rename jet -> kotlin in frontend: parsing
org.jetbrains.jet.lang.parsing -> org.jetbrains.kotlin.parsing
2015-01-10 16:06:09 +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 00878cc31a Rename java -> jvm, jet -> kotlin in module serialization.java
org.jetbrains.jet.descriptors.serialization ->
org.jetbrains.kotlin.serialization.jvm
2015-01-09 14:27:13 +03:00
Alexander Udalov de6e8a7493 Rename package jet -> kotlin in backend
org.jetbrains.jet.codegen -> org.jetbrains.kotlin.codegen
2015-01-08 23:32:09 +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 8ca803775f Rename package jet -> kotlin in cli, cli-common
org.jetbrains.jet.cli -> org.jetbrains.kotlin.cli

Also fix some minor warnings
2015-01-08 23:32:07 +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 2e0fab3f98 Rename package jet -> kotlin in light-classes
org.jetbrains.jet.asJava -> org.jetbrains.kotlin.asJava

Also fix some minor warnings and deprecated API usage
2015-01-06 05:15:11 +03:00
Alexander Udalov 03e3969544 Rename package k2js -> kotlin.js in js.frontend
org.jetbrains.k2js -> org.jetbrains.kotlin.js
2015-01-05 05:10:33 +03:00
Alexander Udalov 2bc3aa2199 Rename package k2js -> kotlin.js in js.translator
org.jetbrains.k2js -> org.jetbrains.kotlin.js
2015-01-05 04:19:06 +03:00
Alexander Udalov 1bf3ca2e26 Rename package jet -> kotlin in preloader and instrumentation
org.jetbrains.jet.preloading -> org.jetbrains.kotlin.preloading
2015-01-05 04:19:04 +03:00
Alexander Udalov b1809f8d40 Rename module jet.as.java.psi -> light-classes 2015-01-03 12:38:41 +03:00
Alexander Udalov fcbfc53dc8 Rename package jet -> kotlin in injectors
org.jetbrains.jet.di -> org.jetbrains.kotlin.di
2015-01-03 00:19:02 +03:00
Zalim Bashorov 41dff74037 resolve/*Diagnostics* -> resolve/diagnostics/*Diagnostics*
And remove unused TraceUtil.java
2014-12-29 21:37:18 +03:00
Alexander Udalov 9273b0dfec Preloader: support loading classpath dependencies from manifest
Move this logic from ide-compiler-runner. This fixes running 'kotlinc' CLI
compiler locally when the runtime is changed binary incompatibly
2014-12-29 18:19:23 +03:00
Alexander Udalov 5e261e344e Move ExitCode to cli-common, simplify KotlinCompilerRunner
- check exit code's toString instead of integer code: more readable and stable
  this way
- call newInstance() on arguments' classes instead of pointless constants
2014-12-29 18:19:20 +03:00
Alexander Udalov 45c6d486fc Refactor CompilerRunnerUtil
Eliminate code duplication, add NotNull, make everything private, etc
2014-12-29 18:17:22 +03:00
Alexander Udalov b8328f9190 Rename MessageRenderer constants 2014-12-29 18:17:21 +03:00
Alexander Udalov 14dab749a2 Use reflection in Ant task to invoke compiler
This will allow a more controlled management of the runtime that the compiler
is linked against. Incidentally this also allows Ant task to use any of
compiler arguments via <compilerarg> because Ant task is now just a facade for
the CLI compiler.

The test "wrongArguments" is deleted because the full compiler usage is now
printed out on a wrong <compilerarg>, and this will become inconvenient to
update with each change in compiler arguments

 #KT-5618 Fixed
2014-12-29 18:00:18 +03:00
Pavel V. Talanov 15b2977b85 Refactor: refine API of LightClassGenerationSupport
Move some specific code to IDELightClassGenerationSupport
2014-12-21 14:23:28 +03:00