Commit Graph

14985 Commits

Author SHA1 Message Date
Alexander Udalov 320a17739d Minor, move and rename getExceptions
Should only be used in FunctionCodegen from now on, because every method
generation should go through FunctionCodegen
2014-04-11 21:57:43 +04:00
Alexander Udalov 11386c0f7a Simplify codegen for trait methods with implementations
- use existing framework (FunctionCodegen.generateMethod) which will take care
  of all subtleties of method generation (bridges, annotations, thrown
  exceptions, etc)
- call to "generateThisOrOuter" was not needed, since when we're generating
  delegation to TImpl, "this" is always "ALOAD 0"
2014-04-11 21:57:43 +04:00
Alexander Udalov 089cba5791 Warn about unwrapFakeOverride in a comment 2014-04-11 21:39:56 +04:00
Evgeny Gerashchenko b9ddc107ba Merge pull request #443 from Stebalien/fix-eqeqeq
Accepted, thank you
2014-04-11 21:06:42 +04:00
Steven Allen 6de114366f Correctly unparse EQEQEQ and EXCLEQEQEQ into === and !== (instead of == and !=).
Reported by Pradyoth Kukkapalli on the kotlin-students mailing list.
2014-04-11 12:46:26 -04:00
Natalia Ukhorskaya ed7a156553 Merge remote-tracking branch 'origin/pr/435'
Conflicts:
	idea/src/META-INF/plugin.xml
	idea/tests/org/jetbrains/jet/plugin/codeInsight/JetInspectionTestGenerated.java
2014-04-11 12:11:44 +04:00
Natalia Ukhorskaya f6a4cce3ae Merge pull request #434 from zgrannan/if_then_to_elvis_inspection
KT-4555 Inspection to detect if's that are foldable to elvis operator
2014-04-11 11:59:42 +04:00
Zack Grannan 867925d5a1 Added ifThenToSafeAccessInspection 2014-04-10 15:44:59 -07:00
Zack Grannan 328607a3ab Added ifThenToElvisInspection
Conflicts:
	idea/src/META-INF/plugin.xml
2014-04-10 14:43:18 -07:00
Tal Man cfc16b410e Intention for adding explicit type arguments at function calls 2014-04-10 16:28:42 +04:00
Natalia Ukhorskaya f8db722011 Merge pull request #392 from wutalman/simplify_booleans
KT-4569: Intention to simplify boolean expressions with constants #KT-4569 Fixed
2014-04-10 11:00:16 +04:00
Tal Man 0feb0d35e6 Intention to simplify boolean expressions that have expressions in them that can be simplified to constants 2014-04-09 14:47:13 -04:00
Tal Man aeb5bae556 Refactoring of CompileTimeConstant, introduce flag to represent a constant being referenced by a variable 2014-04-09 14:47:05 -04:00
Pavel Talanov 32651ec05f Merge pull request #431 from gavinkeusch/split_if_new
KT-4794: Added functionality to KT-4574: Split If. Intention is now offered inside IF keyword
2014-04-09 09:10:50 -07:00
gavinkeusch 216ea4940d KT-4794: Added functionality to KT-4574: Split If. Intention is now offered inside IF keyword 2014-04-08 11:29:30 -07:00
Evgeny Gerashchenko c32bb67365 Updated to IDEA 135.667 (13.1.2 EAP) 2014-04-08 19:29:44 +04:00
Alexey Sedunov f5fb2ea0ab Reuse intention test data in inspection tests 2014-04-08 15:34:51 +04:00
asedunov 32a2e63ae5 Merge pull request #386 from pk382/operator-assign-intention
Intention: Convert between "+=" and "a = a + b"
#KT-4563 Fixed
2014-04-08 11:03:08 +02:00
Pradyoth Kukkapalli eb3ddf50bf New Intention Action: Replace with traditional assign.
This takes an expression of the form a += b and converts it to an
expression form a = a + b.
2014-04-07 09:43:02 -04:00
Pradyoth Kukkapalli 249af96d3c New Intention Action: Replace with operator assign
Replaces a statement of the form a = a + b with a statement of the form
a += b.
2014-04-07 09:43:01 -04:00
Andrey Breslav 8777ab9ee8 Extra instructions added 2014-04-05 12:39:33 +03:00
Nikolay Krasko f41f48b112 Use lazy resolve in name suggester 2014-04-05 04:41:31 +04:00
Nikolay Krasko dd45da01d1 Fix "Extract variable" for anonymous object suggests name "nonameprovided" (KT-4813)
#KT-4813 Fixed
2014-04-05 04:41:31 +04:00
zarechenskiy 43b41f6db9 Implement formatMethod in JavaSignatureFormatter without PSI 2014-04-04 17:40:37 +04:00
zarechenskiy fe48051041 Remove acces to JavaPropertyInitializerEvaluator through ServiceLoader by injecting it in GenerateInjectors 2014-04-04 17:40:37 +04:00
zarechenskiy 2e4028ba3a Move method createArrayType to JavaType and drop JavaElementFactory 2014-04-04 17:40:36 +04:00
zarechenskiy 735df2e340 Drop getExternal method from JavaSignatureFormatter 2014-04-04 17:40:36 +04:00
zarechenskiy d7337fbe94 Remove PSI in TraceBasedExternalSignatureResolver, AlternativeFieldSignatureData, AlternativeMethodSignatureData 2014-04-04 17:40:35 +04:00
Alexander Udalov 77b2b29641 Show uninitialized descriptor's name in DeclarationDescriptor.toString() 2014-04-04 17:40:34 +04:00
Nikolay Krasko 5606c21f89 Remove synchronous VFS refresh to avoid deadlocks (KT-4584)
#KT-4584 Fixed
2014-04-04 02:10:31 +04:00
Nikolay Krasko 48570ebc64 Automatically enable Kotlin plugin if it was disabled 2014-04-04 02:10:30 +04:00
Nikolay Krasko 6e8c1df5ee Minor: fix always null warning 2014-04-04 02:10:29 +04:00
Nikolay Krasko a7bc9ec96c Minor: use directive with current ABI version in test data 2014-04-04 02:10:29 +04:00
Alexander Udalov 8006fcc819 Minor, add assertion message 2014-04-03 19:33:22 +04:00
Alexander Udalov 750d3e8de7 Drop MutableClassDescriptorLite
Inline it into MutableClassDescriptor
2014-04-03 19:13:11 +04:00
Alexander Udalov cbe6e49a93 Consider outer classes when topsorting hierarchy
- when building a topsorted hierarchy, consider not only edges to the class'
  superclasses, but also from inner/nested classes to their container. This
  effectively means that a class cannot inherit from its nested class. Similar
  cases (see the tests) are disallowed in Java.
- filter classes by their presence in TopDownAnalysisContext, not by being a
  MutableClassDescriptor (otherwise analysis for local classes ends up trying
  to do something with outer superclasses)
- delete outdated comment: topsort is needed not only for better diagnostics,
  but also for correct order of fake overrides construction
2014-04-03 19:12:56 +04:00
Alexander Udalov 9b2291d381 Fix StackOverflowError on cyclic hierarchy Java<->Kotlin
Report errors not only when superclasses are MutableClassDescriptorLite, but
any classes

 #KT-2115 Fixed
2014-04-03 19:04:12 +04:00
Alexander Udalov 4241eb9661 Regenerate tests 2014-04-03 19:02:56 +04:00
Alexander Udalov a485f24217 Don't serialize signature to string to check against toString/hashCode/equals 2014-04-03 01:24:39 +04:00
Alexander Udalov 9fbe2c7cbc Minor, remove read check in WriteThroughScope
Without this, it's difficult to debug errors related to writing to the already
locked scope: if you set a conditional breakpoint in checkMayRead() on a
scope's toString(), its toString() will call getContainingDeclaration(), which
will call checkMayRead() again, resulting in StackOverflowError
2014-04-03 01:24:38 +04:00
Zalim Bashorov 96d5a1d0e6 JS backend: test both versions of Map(Complex and Primitive) 2014-04-02 17:50:40 +04:00
Zalim Bashorov 336ff43b26 JS backend: - test both versions of Set(Complex and Primitive)
- added size in PrimitiveSet
 - fixed contains in PrimitiveSet

 #KT-4796 fixed
2014-04-02 17:50:40 +04:00
Zalim Bashorov 6c1ed450a2 Added the directive for allow to use runtime classes in intention tests. 2014-04-02 16:00:09 +04:00
Andrey Breslav 4f44c7ba9c Unused mechanism removed
Incomplete traces are not needed for light classes any more, because light classes use lazy resolve
2014-04-02 15:48:58 +04:00
Andrey Breslav 96a812b36e Minor. Rename method BodiesResolveContext.getClasses()
This is done to avoid the clash of meanings with TopDownAnalysisContext.getAllClasses()
2014-04-02 15:48:58 +04:00
Andrey Breslav 98e6b7ddbe Top-down analysis accounts for script classes too 2014-04-02 15:48:57 +04:00
Andrey Breslav 0f422df98f In non-lazy mode, script classes are normal MutableClassDescriptors 2014-04-02 15:48:57 +04:00
Andrey Breslav 989079e4fc Properties from primary constructors added to getAllDescriptors() 2014-04-02 15:48:56 +04:00
Andrey Breslav 9f70364aff Add 'rv' property to getAllDescriptors() in script classes 2014-04-02 15:48:56 +04:00
Andrey Breslav 363fdf4045 Account for script classes in getAllDescriptors() 2014-04-02 15:48:56 +04:00