Commit Graph

260 Commits

Author SHA1 Message Date
Alexey Sedunov c2aa824242 Implement light method equality based on the original declarations
#KT-4350 Fixed
2014-06-25 19:08:00 +04:00
Andrey Breslav e2c5d9edf6 Support reporting errors on class objects and any classes or objects contained anywhere 2014-06-19 22:12:02 +04:00
Andrey Breslav 86e8a1d410 Do not report declaration clashes on MANY_IMPL_MEMBER_NOT_IMPLEMENTED 2014-06-19 22:12:01 +04:00
Andrey Breslav f0da5d570e Do not report "accidental overrides" when "override" modifier is specified 2014-06-19 22:12:01 +04:00
Andrey Breslav 9ecbeeb100 Filter diagnostics in the CLI compiler, as well as in the IDE 2014-06-19 22:12:00 +04:00
Andrey Breslav 61c7c2f1a1 Minor. Extract function 2014-06-19 22:11:59 +04:00
Andrey Breslav 8fd166ea7b Minor. Method renamed 2014-06-19 22:10:57 +04:00
Andrey Breslav 6bbc8ea951 Fix reporting errors on properties declared in constructors 2014-06-19 22:10:55 +04:00
Andrey Breslav 27f76630e6 ACCIDENTAL_OVERRIDE diagnostics supported
#KT-1 In Progress
2014-06-19 22:10:55 +04:00
Andrey Breslav 1343e59eb9 Properly handle accessors of top-level properties 2014-06-19 22:10:53 +04:00
Andrey Breslav 3bc404a80e Do not skip local classes in top-level functions
In this case we need names for such classes:

fun foo() = run {
  class A
  A()
}
2014-06-19 22:10:53 +04:00
Andrey Breslav dd23b02dae Use safe names in codegen, for the case of light classes 2014-06-19 22:10:53 +04:00
Andrey Breslav f3c46341e5 Filtering out duplicate signature diagnostics if CONFLICTING_OVERLOADS or REDECLARATION is present 2014-06-19 22:10:51 +04:00
Andrey Breslav f80619e4e9 Ability to generate light classes for scripts 2014-06-19 22:10:51 +04:00
Andrey Breslav 74deb58734 Filtering duplicate diagnostics for trait implementations 2014-06-19 22:10:50 +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 4fbce3f43e JvmDeclarationOrigin used in newClassBuilder() 2014-06-19 22:10:47 +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 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 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
Evgeny Gerashchenko cea272fb39 Moved getPackageFilesWithCallables to frontend.java and reused it. 2014-06-19 17:54:33 +04:00
Evgeny Gerashchenko 92849dda3b Serializing incremental package fragment from our module instead of random one. 2014-06-19 13:41:27 +04:00
Evgeny Gerashchenko 820bd911fb Supported cases of removing source files from package fragment. 2014-06-18 22:56:43 +04:00
Valentin Kipyatkov 1e39021bd3 Java to Kotlin convertor: making code more "Kolin-like" + numerous micro refactorings 2014-06-03 17:29:00 +04:00
Pavel V. Talanov 7973c9bfca Do not load Icon in LightVariableBuilder constructor 2014-05-30 14:58:50 +04:00
Alexey Sedunov 4678a5866a Light Classes: Track original declaration for Kotlin light fields
#KT-4902 Fixed
2014-05-28 21:06:01 +04:00
Alexander Udalov 9e325b3ebe Remove heuristic from PackageCodegen
Implement the logic in a more straightforward way, move the heuristic to
JavaElementFinder where it was also used
2014-05-26 16:48:19 +04:00
Pavel V. Talanov 7046168868 Add isLocal() to JetClassOrObject, use it where appropriate 2014-05-21 15:39:14 +04:00
Pavel V. Talanov b5374584bb Add and use JetClassOrObject#isTopLevel() 2014-05-21 15:38:59 +04:00
Alexander Udalov 357fe5cb17 Pass module to GenerationState
- get rid of a hack there which was used to obtain any module, to be used in
  ReflectionTypes
- delete unused getError() in LightClassConstructionContext which was always
  null
- fix some minor warnings
2014-05-19 19:50:56 +04:00
Alexander Udalov 16daeb9544 Misc refactorings in KotlinBuiltIns
- delete fields which were supposed to be used for caching, but mistakenly were
  never used
- delete/inline unused methods and constants
- delete useless logic related to root package fragment: package fragment
  providers are only supposed to find packages they're aware of
2014-05-05 20:42:35 +04:00
Andrey Breslav 19719f9747 Deprecated _tmp functions replaced by library ones 2014-04-29 19:11:47 +04:00
Andrey Breslav 767eb04930 JetElement.getContainingJetFile() introduced 2014-04-21 21:55:00 +04:00
Pavel V. Talanov 3fdb548a9d Introduce JetModifierKeywordToken to mark keywords which can be used as modifiers
Change JetModifierList and JetModifierListOwner api to accept only those tokens
2014-04-02 13:37:15 +04:00
Nikolay Krasko 95fd870988 Update to idea 135.666 EAP with asm5 library 2014-04-01 02:55:00 +04:00
Pavel V. Talanov a1dbf221b3 Use instance methods instead of JetPsiUtil for getting fq names
Remove unnecessary usages of JetFile#getPackageDirective where only FqName is needed
Make JetFile#getPackageFqName not nullable to avoid confusion on call sites
Remove getPackageName usages
Move getFqName(JetNamedDeclaration) to a separate util class
2014-03-24 17:51:49 +04:00
Mikhael Bogdanov 35174b459a Enable Inline flag for light classes 2014-03-20 17:50:54 +04:00
Ilya Ryzhenkov a3b45b919c Temporarily replace usages of extension on iterators in compiler by _tmp() calls 2014-03-19 20:25:16 +04:00
Alexey Sedunov abcba89ad3 Move top-level declarations: Implement refactoring processor 2014-03-19 15:31:29 +04:00
Alexey Sedunov 1edaa877dc Fix search scope of Kotlin light methods
#KT-4638 Fixed
2014-03-04 19:45:35 +04:00
Mikhael Bogdanov e695f0a516 Extracting class builder interface 2014-03-03 15:43:44 +04:00
Alexander Udalov ac71911720 Get rid of "jet" in comments, assertions, READMEs, etc.
Replace with "kotlin"

 #KT-2896 Fixed
2014-03-02 19:55:11 +04:00
Nikolay Krasko 592969bad1 Rewrite utils method for qualified names to Kotlin 2014-02-20 16:17:51 +04:00