Commit Graph

1214 Commits

Author SHA1 Message Date
Stepan Koltsov 1d0ef01eea REPL overload resolution ambiguity
Fix overload resolution ambiguity in REPL. Note, resolution for
functions declared in script is very different from regular programs:
in scripts function declared later wins. See
functionOverloadResolutionAnyBeatsString for example.

#KT-2272 Fixed
2012-06-14 14:06:17 +04:00
Stepan Koltsov 4d06660243 parse imports in scripts 2012-06-13 22:32:36 +04:00
Stepan Koltsov 5f3daa08ff fix compilation 2012-06-13 21:13:34 +04:00
Stepan Koltsov 1ca80f74fd better DeclarationDescriptorVisitor
* it is interface
* no methods for abstract classes
* DescriptorRenderer now uses it do not forget about anything
2012-06-13 21:11:08 +04:00
Andrey Breslav bcb93751ae Support for properties defined by object declarations 2012-06-13 20:34:14 +04:00
Andrey Breslav acc658e9c1 Support properties declared in the primary constructor parameter list 2012-06-13 20:34:14 +04:00
Andrey Breslav 743cff4161 resolveToDescriptor() supported for:
* classes
* functions
* class objects
* type parameters
* packages
2012-06-13 20:34:14 +04:00
Andrey Breslav 2cd7d8505a Pointless TODO removed 2012-06-13 20:34:14 +04:00
Svetlana Isakova 56bd86f8aa frontend part of KT-1922
VerifyError: Default value of constructor parameter should be resolved to previous parameter, not to property of class
2012-06-13 20:19:55 +04:00
Stepan Koltsov edad5c9266 merge analyzeBodies functions from JS and JVM backend 2012-06-13 19:53:08 +04:00
Stepan Koltsov 9290f55bad JavaDescriptorResolver is not needed for body resolver
* create InjectorForBodyResolve
* split ScriptDescriptor into ScriptDeclarationResolve and ScriptBodyResolver
2012-06-13 19:27:17 +04:00
Svetlana Isakova 2f0278d63b KT-2262 Cannot access protected member from inner class of subclass
#KT-2262 fixed
2012-06-13 17:03:04 +04:00
Andrey Breslav 6112c77b22 Fixed nullability assertion that was accidentally made too strong 2012-06-13 13:59:36 +04:00
Andrey Breslav c658fbbb51 Fix import order: default imports come first (lowest priority) 2012-06-13 13:24:50 +04:00
Andrey Breslav 5e47b923b3 Support properties declared as primary constructor parameters 2012-06-13 13:22:09 +04:00
Andrey Breslav efb3df5ca2 Supporting fake overrides for properties and constructors for class objects 2012-06-13 12:32:42 +04:00
Andrey Breslav f2561046bf Name changed to match existing behavior of eager resolve 2012-06-13 12:32:42 +04:00
Stepan Koltsov a55c8f1a04 move trivial method from TopDownAnalyzer to BodyResolver 2012-06-12 18:50:41 +04:00
Stepan Koltsov b0553ff651 properly handle empty lines in REPL 2012-06-09 23:25:41 +04:00
Stepan Koltsov f11767319a repl: fix two anonymous functions 2012-06-09 23:25:40 +04:00
Stepan Koltsov 8a72e22487 better rendering of unknown descriptors 2012-06-09 23:25:39 +04:00
Svetlana Isakova 2286022307 get rid of 'internal protected' visibility 2012-06-09 19:43:53 +04:00
Svetlana Isakova 92973f66bd imports order after dist 2012-06-09 19:24:10 +04:00
Nikolay Krasko e7d625e37c Fix type in function name and a better name for another function 2012-06-09 18:38:30 +04:00
Svetlana Isakova 74f4fde180 KT-2240 Wrong overload resolution ambiguity when object literal is involved
#KT-2240 fixed
2012-06-09 17:40:22 +04:00
Andrey Breslav a061bca524 Avoid adding the same thing twice 2012-06-09 16:52:54 +04:00
Nikolay Krasko f8926c8a93 Absence of type is not enough for concluding function has type inference 2012-06-09 15:54:56 +04:00
Andrey Breslav d6f279926c Lazy resolve: Support for imports and Java interop 2012-06-09 15:53:29 +04:00
Andrey Breslav 86b08d89cf Scopes reverted to nested structure
I was wrong about not redirecting getClassifier() to parent
2012-06-09 15:51:05 +04:00
Andrey Breslav 8b133f2e27 Fix classifier lookup
Writable scopes do not redirect getClassifier() to parent
2012-06-09 13:41:50 +04:00
Svetlana Isakova 58e4157c4d KT-2234 'period!!' has type Int?
#KT-2234 fixed
2012-06-09 13:33:25 +04:00
Svetlana Isakova 2971c1630e KT-2166 Control flow analysis doesn't detect that a 'while(true)' loop never terminates
KT-2103 Compiler requires return statement after loop which never exits
 #KT-2166 Fixed
 #KT-2103 Fixed
2012-06-09 13:33:25 +04:00
Svetlana Isakova 0e850e5d30 all instructions should be traversed
while reversed order is needed
not only reachable from sink instruction
2012-06-09 13:33:25 +04:00
Svetlana Isakova 9ede882cd5 KT-2226 Parameter used as delegation by object marked as unused
#KT-2226 fixed
2012-06-09 13:33:25 +04:00
Andrey Breslav a070f62317 Field renamed for easier debugging 2012-06-09 13:24:35 +04:00
Andrey Breslav aba0302bf7 Flipped the wrong condition 2012-06-09 12:54:49 +04:00
Andrey Breslav c6cc6d5e1c Lazy resolve: Import root scope into files 2012-06-09 12:50:43 +04:00
Nikolay Krasko b104d70196 More aggressive block cache invalidation for declarations with type inference 2012-06-08 22:53:17 +04:00
Stepan Koltsov acac0eddc7 formatting 2012-06-08 21:36:49 +04:00
Svetlana Isakova 18e45f3c27 inlined method 'referenceToDescriptor' 2012-06-08 15:28:11 +04:00
Svetlana Isakova e05c310cdb KT-2195 error "Only safe calls are allowed ..." but it is function param (val)
#KT-2195
2012-06-08 15:27:49 +04:00
Stepan Koltsov 6946abbcea working on REPL: implemented previous lines importing 2012-06-08 04:19:24 +04:00
Stepan Koltsov 8a3d3d21bd better script class name 2012-06-08 04:19:23 +04:00
Stepan Koltsov 2ae632aa9a chop Impl suffix when generating field name 2012-06-08 03:38:28 +04:00
Stepan Koltsov 1dd7a38c3a lock scope
(for better, safer code)
2012-06-08 03:38:24 +04:00
Svetlana Isakova 9e0e0e92df inlined 'getType' method without 'DataFlowInfo' parameter 2012-06-07 19:42:37 +04:00
Svetlana Isakova 896095b458 rename
'replaceTrace' method added to context
2012-06-07 17:17:23 +04:00
Svetlana Isakova 98b40ac6d2 cache for object resolve added
result cache for function literals is removed (these results depend on expected type)
2012-06-07 17:16:15 +04:00
Svetlana Isakova 7f02af0ce8 cache for resolved simple calls added
simple: without type parameters
2012-06-07 17:14:13 +04:00
Svetlana Isakova c40cd03a08 not to rewrite RESOLUTION_SCOPE for references
(different scope can appear because of cached info for calls)
2012-06-07 17:12:12 +04:00