Zalim Bashorov
30208d5532
Minor: drop semicolon in package declaration everywhere.
2014-09-16 19:32:37 +04:00
Michael Bogdanov
a735d67e86
Check noinline annotation on non-local return processing
2014-09-16 15:33:14 +04:00
Michael Bogdanov
b763aa9995
Added platform static checker with provider implementation
2014-09-16 14:38:15 +04:00
Andrey Breslav
f1cf446e10
KT-5773 Smart cast doesn't work with Nothing on the rhs of "?:"
...
#KT-5773 FIxed
2014-09-15 18:24:13 +04:00
Nikolay Krasko
65d358a066
Don't generate component function in lazy resolve for parameter if it has no val/var
2014-09-11 12:52:56 +04:00
Nikolay Krasko
caee19cdc7
Generate copy() in data class even if constructor is empty or not present
2014-09-11 12:52:55 +04:00
Andrey Breslav
b8b0316d97
Reporting ACCIDENTAL_OVERRIDE on jvm signatures that have no descriptors
...
(marking them SYNTHETIC)
2014-09-10 17:35:54 +04:00
Alexander Udalov
5b1993f62a
Resolve "values" and "valueOf" in enum class object
...
Import enum class's static scope into its class object's member scope
2014-09-09 20:42:38 +04:00
Alexander Udalov
b52f337f7f
Drop enum class object hack
...
Place valueOf() and values() into the static scope of the corresponding enum
class
#KT-5580 Fixed
#KT-2410 Fixed
2014-09-09 20:42:37 +04:00
Alexander Udalov
bcfb5f3b09
Rewrite Java resolve to use static class scope instead of synthesized packages
...
#KT-4149 Fixed
#KT-4839 Fixed
2014-09-09 20:42:36 +04:00
Alexander Udalov
7ad88f7799
Minor, add test for obsolete issue
...
#KT-4021 Obsolete
2014-09-09 20:42:35 +04:00
Svetlana Isakova
067ac5c94a
Fixed one part of 'Resolution error of this type shouldn't occur for...'
...
Result for "IF<T>(T, T)" can be "hasUnknownParameters"
if both arguments have types 'uninferred type parameter' (incomplete resolve case),
no constraints are added to the system.
2014-09-07 01:03:58 +04:00
Svetlana Isakova
61dc110cc7
Report 'break or continue outside a loop'
...
for break/continue outside a loop body (e.g. in loop condition)
#KT-5724 Fixed
2014-09-07 01:03:57 +04:00
Svetlana Isakova
17c3eeb7bd
Added error 'NESTED_CLASS_SHOULD_BE_QUALIFIED'
...
when nested class is resolved through implicit this
2014-09-01 12:32:54 +04:00
Svetlana Isakova
132c292d32
Don't check class object visibility when it's in qualifier position
...
(visibility for member is checked anyway).
It might be better to underline invisible qualifier in a chain (class or class object), not the last one (member) - for later improvement.
2014-09-01 12:32:54 +04:00
Svetlana Isakova
bc3f6e200a
Refactoring in PositioningStrategies
...
Rename: NAME_IDENTIFIER -> DECLARATION_NAME
NAMED_ELEMENT -> DECLARATION_SIGNATURE
DECLARATION, DECLARATION_OR_DEFAULT (merged) -> DECLARATION_SIGNATURE_OR_DEFAULT
2014-09-01 12:32:53 +04:00
Svetlana Isakova
bbeb44e6ee
Fixed NPE in ArgumentMatchImpl.getStatus
...
Check value arguments if there is wrong number of type arguments
2014-09-01 12:32:52 +04:00
Svetlana Isakova
9d366cb896
Prohibit local objects and enum classes
...
#KT-5402 Fixed
#KT-4838 Fixed
Resolve type of object inside local object as special, not supertype('Any').
Changed visibility of constructor of anonymous object to 'internal' to be able to resolve the following:
fun box(): String {
var foo = object {
val bar = object {
val baz = "ok"
}
}
return foo.bar.baz
}
The containing declaration of property initializers is constructor, so 'baz' was invisible inside private constructor.
2014-09-01 12:32:52 +04:00
Svetlana Isakova
eaeed78154
Resolve type of anonymous object in local object as local
2014-09-01 12:32:51 +04:00
Svetlana Isakova
f811b9541c
Position error on 'class A' or 'object A' instead of name identifier only
2014-09-01 12:32:51 +04:00
Svetlana Isakova
6f4c152f53
Record reference to class object directly
...
not to containing class descriptor
2014-09-01 12:32:50 +04:00
Svetlana Isakova
7f33ad90a6
Report 'nested class accessed via instance reference' error
2014-09-01 12:32:50 +04:00
Svetlana Isakova
8289f13016
Introduced QualifierReceiver instead of PackageType
2014-09-01 12:32:49 +04:00
Svetlana Isakova
8f6f8331ac
DelegationSpecifier resolve depends on expected type (supertype)
2014-09-01 12:32:48 +04:00
Svetlana Isakova
e4e09d6c70
Resolve invoke on class objects and enum entries
...
Added FakeCallableDescriptorForObject to make a resolved call
with object as variable in 'variable as function call'
#KT-4321 Fixed
#KT-4863 Fixed
2014-09-01 12:32:48 +04:00
Andrey Breslav
d80907543f
KT-5697 Duplicate Unit type
...
#KT-5697 Fixed
2014-08-29 12:51:07 +04:00
Alexander Udalov
9e971ed2b9
Minor, add test on enum assignability to kotlin.Enum
2014-08-13 17:19:56 +04:00
Alexander Udalov
47d5f83d04
Report unmet trait requirements
...
#KT-3006 Fixed
2014-08-13 17:19:55 +04:00
Alexey Sedunov
311166737f
Associate synthetic component function descriptors with corresponding
...
constructor parameters
2014-08-08 18:59:45 +04:00
Alexey Sedunov
9fee8600cb
Pseudocode: Do not generate implicit return instruction inside of
...
Unit-typed lambdas
#KT-5549 Fixed
2014-08-05 18:14:40 +04:00
Svetlana Isakova
2ae87cae4a
Function literal expression outside the parentheses wrapped into JetFunctionLiteralArgument
...
Extracted JetFunctionLiteralArgument.moveInsideParenthesesAndReplaceWith util function
2014-07-30 17:14:00 +04:00
Svetlana Isakova
4477a96ca7
Resolve operation (unary, array access) on error element instead of ignoring it
...
(to record corresponding call for later simplification in control flow)
Generate code for unmapped arguments in control flow
2014-07-30 17:14:00 +04:00
Nikolay Krasko
61b70d287e
Update to 138.1283.4 EAP
2014-07-29 16:28:36 +04:00
Denis Zharkov
76845a76b9
Fixed KT-4814: check type when a += b is a = a+b
...
In cases when a += b is a = a + b, check that (a+b) can be safely casted to a
2014-07-28 22:00:14 +04:00
Alexey Sedunov
9cbcabffa4
Control-Flow Analysis: Reuse pseudo-value information for unused expression analysis
2014-07-28 13:07:37 +04:00
Alexey Sedunov
77bbf8f73b
Pseudocode: Generate fake values for Unit/Nothing-typed expressions
2014-07-28 13:07:29 +04:00
Alexander Udalov
de0f751207
Replace object$ -> OBJECT$, instance$ -> INSTANCE$ in the project
2014-07-26 00:21:05 +04:00
Alexander Udalov
a79398fa00
Don't load Object as a supertype for Java classes
...
#KT-4890 In Progress
#KT-5002 Fixed
2014-07-25 21:19:37 +04:00
Svetlana Isakova
8c13a76805
KT-5527 Double TYPE_MISMATCH diagnostic when returns object
...
#KT-5527 Fixed
2014-07-25 21:17:31 +04:00
Zalim Bashorov
c767ffc3e7
Unit.VALUE -> Unit in testData
2014-07-25 17:16:40 +04:00
Alexander Udalov
70adb0f4e2
Temporarily prohibit non-local returns for some stdlib functions
...
Make InlineUtil work with FQ names, not descriptors
#KT-5496 Fixed
#KT-5497 Fixed
2014-07-19 02:13:27 +04:00
Alexander Udalov
a07909bb52
Don't generate unnecessary accessors for private class properties
2014-07-17 19:18:05 +04:00
Alexey Sedunov
1c75a5f642
Pseudocode: Generate instructions for superclass constructor calls. Consume value of delegate expression in the by-clause
2014-07-11 19:13:21 +04:00
Evgeny Gerashchenko
86d2565700
Added test for KT-4827 UOE at PackageType.throwException()
...
#KT-4827 obsolete
#EA-53605 obsolete
2014-07-10 15:05:18 +04:00
Andrey Breslav
e3b1639edf
KT-5425 Kotlin plugin crashes when project uses RxJava 17.0 or older
...
#KT-5425 Fixed
2014-07-09 16:10:41 +04:00
Michael Bogdanov
6ddeb85c00
Added checking for ONLY_LOCAL_RETURN in actual parameter of inline function
2014-07-09 09:46:28 +04:00
Svetlana Isakova
cec01237d0
Added test for labeled delegated expression
2014-07-08 14:57:40 +04:00
Svetlana Isakova
72e9822d99
All RESOLVED_CALL getters replaced with util methods
...
JetElement.getResolvedCall(BindingContext)
JetElement.getResolvedCallForSure(BindingContext)
2014-07-08 14:57:37 +04:00
Svetlana Isakova
b2c2e1811c
Check 'isDirty' for resolved calls replaced with check 'hasUnresolvedArguments' for call
...
Don't report 'cannotCompleteResolve' error if some arguments are unresolved (like 'ambiguity')
2014-07-08 14:48:19 +04:00
Svetlana Isakova
a3e306b820
Update recorded type for argument in parentheses correctly
2014-07-08 14:48:18 +04:00