Commit Graph

974 Commits

Author SHA1 Message Date
Andrey Breslav ebfb1ec792 KT-1558 Exception while analyzing
KT-1558 Fixed
2012-04-27 20:05:42 +04:00
Andrey Breslav 5453598b2f Declared vs inherited default values
A value parameter _declares _a default value when the value is explicitly provided in the declaration of the parameter.
A value parameter _has_ a default value when it declares a default value or an overridden function declares it for the same parameter
2012-04-27 20:05:42 +04:00
Andrey Breslav d67cc468d8 KT-1862 Wrong MANY_IMPL_MEMBERS_NOT_IMPLEMENTED when trait extends class
#KT-1862 Fixed
2012-04-27 10:58:27 +04:00
Andrey Breslav dc7e6cd3f6 A clarifying message added to an assertion 2012-04-27 10:53:02 +04:00
Andrey Breslav 83de1581ca Trust your spell-checker: it's "overridden" 2012-04-27 10:47:28 +04:00
Andrey Breslav 227d50945c Cleanup 2012-04-27 10:43:14 +04:00
Andrey Breslav 1795ca9830 Unnecessary casts removed 2012-04-27 10:29:52 +04:00
Andrey Breslav b1627e3897 Provide separate access to declared callable members as opposed to all callable members
All callable members contain "fake overrides", declared don't
2012-04-27 00:05:31 +04:00
Andrey Breslav 5f75be6253 No need to expose this scope as writable 2012-04-26 23:58:36 +04:00
Andrey Breslav 058e4b833b Checks for default parameter value consistency
Inheriting default values from multiple superclasses is prohibited
2012-04-26 17:33:16 +04:00
Andrey Breslav 07c5f8e12a MutableClassDescriptor.getCallableDescriptors() now includes "fake overrides"
Otherwise, it was necessary to call getAllDescriptors() on the member scope, which seems like a bad idea.
Adjustments have been made to the client code, to exclude "fake overrides" from irrelevant checks.
2012-04-26 17:33:16 +04:00
Andrey Breslav 3a56b7905d Default parameter values are not allowed in overriding functions 2012-04-26 17:33:15 +04:00
Andrey Breslav 136b07e7e1 Introduced the notion of "overriding" for value parameters
Example:

trait A {
  fun foo(a : Int)
}

class B : A {
  override fun foo(a : Int) {}
}

B.foo.a overrides A.foo.a
2012-04-26 17:33:15 +04:00
Nikolay Krasko 800f289ba3 Some new icons - kotlin file icon 2012-04-26 13:50:37 +04:00
Andrey Breslav d0bd5cf9c6 Properly positioning compilation exceptions in the IDE 2012-04-25 12:25:00 +04:00
Stepan Koltsov ae913f4c0e replace assert with exception
* assert hides errors when code is executed without -ea
* it is easier to set up breakpoint
2012-04-24 22:14:00 +04:00
Andrey Breslav c686184847 KT-1860 Resolve annotations of function parameters
#KT-1860 Fixed
2012-04-24 21:53:23 +04:00
Evgeny Gerashchenko cc7284c67e Fixed failed assertions on navigating to 'Assertions' class of Kotlin runtime 2012-04-24 17:50:57 +04:00
Nikolay Krasko d9b04edcf8 EA-34996 Old assert that is difficult to maintain 2012-04-23 17:59:04 +04:00
Andrey Breslav 789ff0b273 KT-1838 Constructor with a vararg
Resolution for properties declared as primary constructor parameters used to ignore the varargs annotation.
 #KT-1838 Fixed
2012-04-23 14:16:07 +04:00
Evgeny Gerashchenko 82b4304f0e Added auto-importing in JetChangePropertyActions.addTypeAnnotation(). It is used in "specify type explicitly" intention and "introduce variable" refactoring. Corrected auto-importing for cases of nested classes (e.g. Map.Entry). 2012-04-21 02:39:23 +04:00
Evgeny Gerashchenko 7147998c5c Replaced "namespace header" with "package directive" in parser error.
#KT-1799 fixed
2012-04-20 22:02:28 +04:00
Evgeny Gerashchenko 9bec7b5e9d Merge branch 'diagnostics'
Conflicts:
	compiler/cli/src/org/jetbrains/jet/compiler/CompileSession.java
	compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/Errors.java
2012-04-20 21:58:05 +04:00
Stepan Koltsov 3b0c9244c9 di: @PreDestroy
I need in my private experiments
2012-04-20 21:33:18 +04:00
Stepan Koltsov 994e6fe009 di: store everything in fields
needed to implement @PreDestroy
2012-04-20 21:33:17 +04:00
Evgeny Gerashchenko 0f0330a4b4 Added rendering vararg keywords and valid parameter type in this case.
#KT-1840 fixed
2012-04-20 20:44:09 +04:00
Evgeny Gerashchenko 9a3af476e5 Implemented getDiagnostics() in BindingContext returned by DelegatingBindingTrace. 2012-04-20 20:44:09 +04:00
Evgeny Gerashchenko 90ac45f3f9 Added extra space after function type arguments list in DescriptorRenderer. Added test. 2012-04-20 20:44:08 +04:00
Evgeny Gerashchenko 1f7c435a24 Removed val/var soft keywords in renderer for functions 2012-04-20 20:44:08 +04:00
Andrey Breslav a31edfc3bd KT-1835 cannot call a Java API which has a method from(String) and from(String...)
The problem was in the "more specific" relation, that didn't pay enough attention to varargs.
The correct behavior is in the spirit of JLS 15.12.2 (as of Java 5):
 * a fixed-arity function always wins over a variable-arity functions
 * if two vararg functions are compared, their parameters are checked for subtyping.
  In the latter case, the candidates may have different number of formal parameters, so we
  compare the matching parts and then check the rest against the vararg parameter.

 #KT-1835 Fixed
2012-04-20 20:00:41 +04:00
Andrey Breslav 45a0873afa KT-1835 cannot call a Java API which has a method from(String) and from(String...)
The problem was in the "more specific" relation, that didn't pay enough attention to varargs.
The correct behavior is in the spirit of JLS 15.12.2 (as of Java 5):
 * a fixed-arity function always wins over a variable-arity functions
 * if two vararg functions are compared, their parameters are checked for subtyping.
  In the latter case, the candidates may have different number of formal parameters, so we
  compare the matching parts and then check the rest against the vararg parameter.

 #KT-1835 Fixed
2012-04-20 19:10:10 +04:00
Andrey Breslav da474b961f Detailed status for ValueArgumentsToParameterMapper
When a non-vararg parameter gets spread with a '*' in front of it, a "weak error" is returned.
A candidate with a weak error in parameter matching is type-checked, but not successful.
2012-04-20 19:10:10 +04:00
Svetlana Isakova 09f7c012bd preserve order of resolved calls 2012-04-20 17:12:51 +04:00
Svetlana Isakova 5ec7617c7a Call resolution refactoring (logic hasn't changed)
- interfaces MemberPrioritizer, ResolutionCandidate introduced
- CallTransformationStrategy will be responsible for variable with 'invoke' method as function resolve
2012-04-20 15:52:36 +04:00
Evgeny Gerashchenko 85ce85383b Added rendering variance for type parameters in DescriptorRenderer. 2012-04-19 18:46:45 +04:00
Stepan Koltsov b47d37094e properly report exception if analyze failed
#KT-1831 Fixed
2012-04-19 16:41:34 +04:00
Evgeny Gerashchenko 1559f983aa Made soft keywords bold in DescriptorRenderer. 2012-04-19 16:30:34 +04:00
Evgeny Gerashchenko d28aed6494 Improved positioning for PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT. 2012-04-19 16:25:48 +04:00
Nikolay Krasko aa4e4623d4 KT-1630 Do not select automatically completion proposal in definition of lambda parameters
#KT-1630 fixed
2012-04-19 16:06:15 +04:00
Svetlana Isakova d245a10d02 KT-1822 Error 'cannot infer visibility' required
#KT-1822 fixed
2012-04-19 16:01:46 +04:00
Evgeny Gerashchenko 12abe1a5ee Fixed error for TYPE_MISMATCH_IN_TUPLE_PATTERN. 2012-04-19 15:54:07 +04:00
Svetlana Isakova 558d1a0e2f KT-1680 Warn if non-null variable is compared to null
#KT-1680 fixed
2012-04-19 15:36:44 +04:00
Evgeny Gerashchenko 99acd9cdf0 Fixed rendering "defined in ..." DescriptorRenderer, now it doesn't render "<module>.<root>" 2012-04-19 15:22:01 +04:00
Evgeny Gerashchenko a824b81aa5 Minor refactoring renderer for INCOMPATIBLE_MODIFIERS. 2012-04-19 15:22:00 +04:00
Evgeny Gerashchenko 515b79c240 Better error message for WRONG_NUMBER_OF_TYPE_ARGUMENTS. "1 type arguments" will not be shown anymore. 2012-04-19 15:22:00 +04:00
Evgeny Gerashchenko a45a7ae631 Made renderers added to DiagnosticWithParametersXRenderer nullable. 2012-04-19 15:22:00 +04:00
Evgeny Gerashchenko 886ec6a162 Clarified EQUALITY_NOT_APPLICABLE error message. 2012-04-19 15:21:59 +04:00
Evgeny Gerashchenko c1dde84508 Boolean -> jet.Boolean 2012-04-19 15:21:59 +04:00
Evgeny Gerashchenko 1123a4f438 Clarified error message for TYPE_MISMATCH_IN_BINDING_PATTERN. 2012-04-19 15:21:59 +04:00
Evgeny Gerashchenko 42c079ce98 Added "actual type" parameter for UPPER_BOUND_VIOLATED diagnostic. 2012-04-19 15:21:58 +04:00