Commit Graph

16098 Commits

Author SHA1 Message Date
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 d2e464a02b Tests for local classes in weird positions 2014-06-19 22:10:54 +04:00
Andrey Breslav 9cb71c7fa8 Test data fixed 2014-06-19 22:10:54 +04:00
Andrey Breslav 55cfa161c7 Report conflicting signatures that are purely inherited from traits
When all signatures are inherited from traits, the origin elements lie outside of the class in question
2014-06-19 22:10:54 +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 bbaf47d3db Do not initialize properties in LIGHT_CLASSES mode 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 d2ce6f5787 Safe identifier for the case of no name in PSI moved to 'descriptors' module, to be used in 'descriptor.loader.java' 2014-06-19 22:10:52 +04:00
Andrey Breslav bb581bb645 Only normalize names when accessing PSI, not earlier
#KT-4833 Fixed
2014-06-19 22:10:52 +04:00
Andrey Breslav ef7b43ecdc Disable JVM signature diagnostics for multi-module tests 2014-06-19 22:10:52 +04:00
Andrey Breslav 14829ff058 Check that resolved calls are completed in each module 2014-06-19 22:10:52 +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 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