Commit Graph

35 Commits

Author SHA1 Message Date
Alexander Udalov fb958897a9 Introduce kotlin.Cloneable
- Cloneable is a trait with a single protected member 'clone', which is mapped
  to java.lang.Cloneable on JVM
- 'clone' is non-abstract to be able to call 'super.clone()' in the
  implementations. Also if you need your class to be Cloneable, most of the
  time inheriting from Cloneable and calling 'super.clone()' will work
- hack 'super.clone()' in JVM intrinsics and TImpl delegation generation
- make arrays Cloneable, handle 'clone()' calls in the intrinsic

 #KT-4890 Fixed
2014-07-25 21:19:39 +04:00
Alexander Udalov 1706bd4a00 Render the descriptor in "cannot infer visibility" message
Otherwise it's unclear what member is problematic if it's a fake override
(because the diagnostic in that case is reported on the whole class)
2014-05-22 19:32:10 +04:00
Alexander Udalov 9760f30c99 Don't allow fake override to inherit implementation with wrong return type
#KT-4763 Fixed
2014-05-22 19:32:10 +04:00
Svetlana Isakova a57b4f6459 Render inferred and not inferred type parameters
while rendering a resolved call
2014-04-30 13:34:34 +04:00
Svetlana Isakova 4a8255a606 Trace usage in renderer replaced with usage of argument to parameter map 2014-04-30 13:34:31 +04:00
Svetlana Isakova efa00782a4 Reformat html test data for DiagnosticMessageTest 2014-04-30 13:34:30 +04:00
Alexander Udalov a5cc894ecd Fix "name in constraint is not a type parameter" diagnostic message
TO_STRING renderer was used for PSI elements, so things like "CLASS", "FUN"
were displayed in the message
2014-04-17 19:51:32 +04:00
Alexander Udalov 72dfca1698 Fix "cannot override invisible member" diagnostic message
Fix "cannot has", delete "in class ..." as it's already present in the message
(function ... defined in class ...)
2014-04-17 19:51:32 +04:00
Alexander Udalov 146498ec32 Sort out renderers for diagnostics
- change NAMED to be Renderer<Named> and render Named's name. It was used in
  multiple places with arbitrary arguments, not only Named: change renderers in
  those places to TO_STRING
- add STRING, which is Renderer<String> and renders string itself. Change all
  places where strings were used with either TO_STRING or NAMED to STRING
- change NOT_AN_ANNOTATION_CLASS diagnostic to be reported on descriptor, not
  any string
- change "unused variable/parameter" diagnostics to be reported on
  VariableDescriptor, not Object
2014-04-17 19:51:31 +04:00
Alexander Udalov adec89f74d Don't print descriptors' toString() in diagnostic messages
Use DescriptorRenderer.TEXT instead, it doesn't print the debug information
2014-04-17 19:51:29 +04:00
Alexander Udalov 5be2a4945b Render FQ name of default package as "root package" in OverloadResolver 2014-04-17 19:51:29 +04:00
Alexander Udalov 4f9f5d231b Fix incorrect diagnostic message for CONFLICTING_OVERLOADS
- the member and the container were mixed up
- don't output "defined in" part of the message, because we tell later where
  it's already defined in
- fix an instability of the diagnostic order in OverloadResolver by using
  LinkedHashSet
2014-04-17 19:51:29 +04:00
Alexander Udalov f7b6457139 Replace "jet" package name with "kotlin" in testData 2014-03-02 19:55:26 +04:00
Svetlana Isakova 14cff91fed improved diagnostic message test
added ability to denote required message type (text or html)
2013-10-16 20:41:25 +04:00
Svetlana Isakova 2f02427c57 changed DiagnosticMessageTest
added test arguments to test data
2013-10-16 20:41:23 +04:00
Svetlana Isakova 4666b0f50c refactoring: removed logic of rendering 'expected type mismatch' error from constraint system 2013-10-16 19:51:53 +04:00
Svetlana Isakova 731efd0781 added declared bound constraints directly to constraint system
added status 'hasViolatedUpperBound'
class TypeConstraintsImpl now stores constraint position for each constraint,
so we can filter out bound constraints and find out if the system is successful without them
2013-10-16 19:51:53 +04:00
Svetlana Isakova ae086d883f fixed test after changed type inference error message
changed order or 'found' and 'required' types
2013-09-03 13:09:11 +04:00
Svetlana Isakova 8b7585af66 added diagnostic message tests to ensure that number value types don't appear in error messages 2013-09-02 23:18:43 +04:00
Nikolay Krasko 5ca4df3d1d KT-3618 Missing space in error message "inconstructor"
#KT-3618 Fixed
2013-05-20 17:56:26 +04:00
Mohammad Shamsi 4b656d8c8d KT-3257 Bad diagnostics when trying to instantiate a private class
#KT-3257 Fixed
2013-05-07 13:14:43 +04:00
Michał Sapalski 7deec28b9c Adjusted tests to the new DescriptorRenderer behaviour 2013-04-29 15:44:07 +04:00
Andrey Breslav c422e4194d Reverting pull request 240 2013-04-12 15:25:52 +04:00
Michał Sapalski d875bf80cb Fixed regression in rendering generic types upper bounds. 2013-04-12 12:49:00 +04:00
Michał Sapalski 97796f9b0f Refactoring: use DescriptionRenderer to generate overriding functions / properties. 2013-04-12 12:49:00 +04:00
Evgeny Gerashchenko d194d4d877 Updated test data. Unit -> jet.Unit. 2013-03-22 16:38:26 +04:00
Svetlana Isakova d7412ecd9f fixed test data
type mismatch with nothing (after change in ConstraintSystemImpl)
render 'CANT_INFER' type as '???'
2013-03-07 13:11:21 +04:00
Svetlana Isakova d418a16dd8 render not inferred return/parameter type of function literals as ???
instead of DONT_CARE / CANT_INFER
2013-02-08 15:10:42 +04:00
Svetlana Isakova b2823c5966 render type correctly in html for TYPE_INFERENCE_UPPER_BOUND_VIOLATED error 2013-02-08 15:10:39 +04:00
Alexander Udalov a0a22b7be6 Outer's superclass' method is now inaccessible from nested
Also the diagnostic error message reported the wrong nested class name: it
should be the nested class in the hierarchy which is static, not the class of
the scope where we're checking the accessibility
2013-01-23 20:18:16 +04:00
Evgeny Gerashchenko c041fc8fea Removed sorting of upper bounds in renderer.
Removed corresponding test.
2012-12-28 14:25:18 +04:00
Evgeny Gerashchenko bc9f5da47e Rendering nice unicode arrow for function types in UI. 2012-12-27 20:46:59 +04:00
Evgeny Gerashchenko ef1ffa4bf7 Sorting upper bounds when rendering "where" to workaround failing test. 2012-12-27 20:46:56 +04:00
Evgeny Gerashchenko bf42e3c093 Rendering "constructor" instead of "ctor". 2012-12-27 20:46:54 +04:00
Svetlana Isakova b0302246a0 HtmlTabledDescriptorRendererTest renamed to DiagnosticMessageTest 2012-12-25 19:12:01 +04:00