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
Alexander Udalov
f39c3041d2
Make MISSING_VAL_ON_ANNOTATION_PARAMETER error instead of warning
...
Annotation with a parameter that is not stored doesn't make any sense
2014-09-15 19:30:52 +04:00
Alexander Udalov
13eeb18219
Delete "idea.properties"
...
Apparently it was committed by mistake and never used since then
2014-09-15 19:30:49 +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
Pavel V. Talanov
88b262faf1
Make test source module a friend of production source module
2014-09-12 13:08:31 +04:00
Alexander Udalov
937404239e
Minor, delete unused method in DataFlowInfo
2014-09-11 17:56:27 +04:00
Nikolay Krasko
b6abd6442a
Don't try to search for component function if asked completely different function
2014-09-11 12:52:57 +04:00
Nikolay Krasko
c3f44d5030
Refactoring: create DataClassUtils and move all "component" function utils there
2014-09-11 12:52:57 +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
Zalim Bashorov
48de3b706d
Frontend: added the support file annotations to LazyTopDownAnalyzer.
2014-09-10 22:39:12 +04:00
Zalim Bashorov
6d0bcf8b32
Frontend: added the support file annotations to TopDownAnalyzer.
2014-09-10 22:39:12 +04:00
Zalim Bashorov
486b6be32c
Minor in Parser: "attribute" -> "annotation"
2014-09-10 22:39:11 +04:00
Zalim Bashorov
fb97b1df93
Minor in Parser: drop obsolete code.
2014-09-10 22:39:11 +04:00
Zalim Bashorov
3c60d0de93
Parser: added the support file annotations.
2014-09-10 22:39:11 +04:00
Alexey Sedunov
b59da7686c
Pseudocode: Fix type predicate inference for values used inside of lambda
2014-09-10 16:44:47 +04:00
Alexey Sedunov
7a15a88288
Minor: Change signature
2014-09-10 16:44:44 +04:00
Alexander Udalov
4d212be31f
Refactor QualifiedExpressionResolver
...
- fix return types everywhere: Collection<DeclarationDescriptor> instead of
Collection<? extends DeclarationDescriptor>
- delete useless LookupResult.EMPTY and merge LookupResult with
SuccessfulLookupResult
- reformat, minor inlines, etc.
2014-09-09 20:42:38 +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
c5345a83c9
Minor, reuse existing method
2014-09-09 20:42:37 +04:00
Alexander Udalov
476dc78c16
Refine getClassObjectDescriptor()'s type
...
This reverts commit db3e5ed678 .
2014-09-09 20:42:37 +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
8ccca1781d
Support static class scope in frontend, JVM codegen and IDE
2014-09-09 20:42:36 +04:00
Alexander Udalov
cb81023469
Minor, fix warnings and formatting in QualifiedExpressionResolver
2014-09-09 20:42:36 +04:00
Alexander Udalov
75df4a9ad8
Introduce ClassDescriptor#getStaticScope()
...
Will be used to exterminate hacks related to static Java methods in our
codebase: synthetic class object for enum, synthetic package for static members
of Java classes, etc.
2014-09-09 20:42:35 +04:00
Alexey Sedunov
e274af7be8
Pseudocode: Filter out nulls before combining type predicates
...
#KT-5732 Fixed
2014-09-08 17:48:47 +04:00
Michael Nedzelsky
6e728852d0
add BindingUtilsPackage.isUnreachableCode
2014-09-08 11:30:12 +04:00
Svetlana Isakova
f5feb3bf33
Fixed: label copies should be added to all labels
2014-09-07 01:04:01 +04:00
Svetlana Isakova
976d5ab030
Pseudocode: don't write full label name when jump on it
2014-09-07 01:04:00 +04:00
Svetlana Isakova
3a9b7bbade
Improved error message for 'nested class should be qualified'
2014-09-07 01:04:00 +04:00
Svetlana Isakova
91b0ad2023
Removed 'implicit this' from scope for member lookup
2014-09-07 01:03:59 +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
0b4f313b6d
Jump on 'continue' to condition entry points for all loops
2014-09-05 18:31:53 +04:00
Michael Nedzelsky
25a0854dbd
fix KT-5645: 'continue' inside 'do...while' statement works as goto to the beginning of the loop (not checking loop condition)
...
#KT-5645 Fixed
2014-09-05 18:31:53 +04:00
Svetlana Isakova
3d7c22f242
Added exact label names for labels
2014-09-05 18:31:53 +04:00
Alexey Sedunov
f11621615b
Pseudocode: Do not generate VALUE_CONSUMER if property delegate has no value (EA-59276)
2014-09-05 17:39:54 +04:00
Valentin Kipyatkov
24bd6ec7de
Moved too specific function out of ExpressionTypingUtils (and refactored it)
2014-09-03 15:43:25 +04:00
Valentin Kipyatkov
855cc2443f
KT-4976 Completion ignores smart casts
...
#KT-4976 Fixed
#KT-5718 Fixed
2014-09-03 15:43:25 +04:00
Nikolay Krasko
932bd57cf9
Minor: small code rearrangement
2014-09-02 14:41:46 +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
3767187027
Refactoring: extracted 'BindingContext.getDataFlowInfo'
2014-09-01 12:32:53 +04:00
Svetlana Isakova
0b9c62ab54
Extracted util function 'recordScopeAndDataFlowInfo'
2014-09-01 12:32:53 +04:00
Svetlana Isakova
7f9ecc50c2
Use EXPRESSION_DATA_FLOW_INFO instead of NON_DEFAULT_EXPRESSION_DATA_FLOW
2014-09-01 12:32:53 +04:00
Svetlana Isakova
4e8f10b8ab
Refactoring: extracted interface Qualifier (that is not a ReceiverValue)
2014-09-01 12:32:53 +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