Sergey Mashkov
8457b53f8b
Better main function recognition and tests
2015-07-24 17:20:40 +03:00
Pavel V. Talanov
273e69c02c
Refactor: Pass buitlins into IntegerValueTypeConstant and IntegerValueTypeConstructor
2015-07-24 13:47:59 +03:00
Pavel V. Talanov
0bed8bb7d4
Minor: Inject builtins into OverloadingConflictResolver
2015-07-24 13:47:57 +03:00
Pavel V. Talanov
4599c962f0
Refactor: make OverloadingConflictResolver and ResolutionResultsHandler components instead of singletons
2015-07-24 13:47:57 +03:00
Pavel V. Talanov
1559c53007
Minor: Inject builtins into DataFlowAnalyzer
2015-07-24 13:47:56 +03:00
Pavel V. Talanov
78f55583f0
Minor: CompileTimeConstantUtils, builtins are not needed to check for string type
2015-07-24 13:47:55 +03:00
Pavel V. Talanov
7203a7833a
Minor: Inject builtins in ControlFlowAnalyzer
2015-07-24 13:47:55 +03:00
Pavel V. Talanov
99e8ba1947
Get rid of static function ConstantExpressionEvaluator.evaluateToConstant
2015-07-24 13:47:53 +03:00
Pavel V. Talanov
6698b3b070
Refactor: get rid of static ConstantExpressionEvaluator.evaluate function
...
Move ArgumentTypeResolver.getLastElementDeparenthesized to JetPsiUtil
2015-07-24 13:47:52 +03:00
Ilya Gorbunov
8892192e9c
Generate openRange tests for compiler.
...
#KT-4665
2015-07-24 04:13:53 +03:00
Valentin Kipyatkov
383a4da231
No annotations rendered in completion and other places
...
KT-5517 Completion shouldn't show inlineOptions annotation
#KT-5517 Fixed
2015-07-23 22:02:06 +03:00
Pavel V. Talanov
8cc9739f72
Refactor: Pass TargetPlatform instead of configurator, hide DynamicTypesSettings inside configurator
2015-07-23 16:15:38 +03:00
Pavel V. Talanov
84b8ed00c5
Refactor: Move TargetPlatform to frontend, make it expose platform dependant resolve services
...
AdditionalCheckerProvider -> PlatformConfigurator which operates directly on container
2015-07-23 16:15:35 +03:00
Pavel V. Talanov
b452c20cc2
Minor: Remove unused references to AdditionalCheckerProvider
2015-07-23 16:15:31 +03:00
Pavel V. Talanov
3227ae5577
Inject non-context dependent CallCheckers instead of getting them from context
2015-07-23 16:15:28 +03:00
Pavel V. Talanov
2885da8993
Remove AdditionalTypeChecker from context, inject into points of usage
2015-07-23 16:15:18 +03:00
Pavel V. Talanov
be98c4f96d
DataFlowUtils -> DataFlowAnalyzer and make it a component
2015-07-23 16:15:13 +03:00
Pavel V. Talanov
985336d6cc
Remove SymbolUsageValidator from contexts
2015-07-23 16:15:10 +03:00
Pavel V. Talanov
b75779b425
Inject SymbolUsageValidator into CallExpressionResolver
2015-07-23 16:15:01 +03:00
Pavel V. Talanov
a75b80c70d
Inject declarations checkers into ModifiersChecker
2015-07-23 14:43:08 +03:00
Pavel V. Talanov
f5878eddd4
Refactor ModifiersChecker to be more component-like
...
A couple of minor prettifications
2015-07-23 14:42:34 +03:00
Alexander Udalov
74ed3b9562
Provide equals/hashCode for Kotlin light classes
...
KotlinLightClassForExplicitDeclaration already had equals/hashCode, but the
other three implementations of KotlinLightClass did not; this resulted in type
mismatch errors in Java code where the signatures of a super method and the
corresponding sub method wouldn't match because types of parameters were
different
#KT-8543 Fixed
2015-07-23 03:51:50 +03:00
Mikhail Glukhikh
f551d64ea2
Refactoring: AnnotationTarget / AnnotationRetention renamed to KotlinTarget / KotlinRetention
...
(for not clashing with the same built-in classes)
2015-07-22 19:01:25 +03:00
Mikhail Glukhikh
414c44ade5
Make retention of 'kotlin.annotation.annotation' to SOURCE. Serialize / deserialize it instead. Some fixed tests.
2015-07-22 19:00:51 +03:00
Mikhail Glukhikh
11f87e6ca1
No more java Target / Retention loaded. Render java Retention / Target. Related test changes.
2015-07-22 19:00:39 +03:00
Mikhail Glukhikh
c2480d1183
Java to Kotlin annotation retention mapping + new test + JvmLoader test adaptation
2015-07-22 19:00:26 +03:00
Zalim Bashorov
679d5fe496
Introduce UsageCollector
2015-07-21 22:27:27 +03:00
Zalim Bashorov
91b87f41bc
incremental.cache -> incremental.components; IncrementalCacheProvider -> IncrementalCompilationComponents
2015-07-21 22:27:26 +03:00
Zalim Bashorov
df4f43267b
Provide location parameter in delegations
2015-07-21 22:27:26 +03:00
Zalim Bashorov
41449c107e
Location.NOWHERE -> UsageLocation.NO_LOCATION
2015-07-21 22:27:25 +03:00
Zalim Bashorov
e2e3520c3d
Add location parameter to JetScope::getClassifier
2015-07-21 22:27:25 +03:00
Zalim Bashorov
0f92036353
Add location parameter to JetScope::getFunctions
2015-07-21 22:27:25 +03:00
Zalim Bashorov
f79155df97
Add location parameter to JetScope::getProperties
2015-07-21 22:27:24 +03:00
Stanislav Erokhin
9e36e5a8b1
Not store call to resolutionResultsCache in INDEPENDENT mode
2015-07-21 21:50:27 +03:00
Stanislav Erokhin
f802d79305
Minor. move method
2015-07-21 21:50:27 +03:00
Pavel V. Talanov
4e0d2bc23c
CompileTimeConstantUtils: use getConstant instead of evaluate
...
Hacky way to avoid passing builtins into this code
2015-07-21 20:52:43 +03:00
Pavel V. Talanov
855e3d2bf4
Inject ConstantExpressionEvaluator in BasicExpressionTypingVisitor via ExpressionTypingComponents
2015-07-21 20:52:42 +03:00
Pavel V. Talanov
add8387141
Fix some problems with jsCode function
...
1. Fix a bug in frontend when passing non-String constant led to exception
2. Fix a bug in backend when passing non-JetStringTeplate string constant led to exception
3. Avoid recomputing constant argument in backend
2015-07-21 20:52:42 +03:00
Pavel V. Talanov
b4825ada69
Refactor ExpressionTypingVisitorDispatcher
...
Inject in in ExpressionTypingServices
2015-07-21 20:52:41 +03:00
Dmitry Petrov
6437a4bdc6
Support overload ambiguity resolution for callable references by expected type.
...
Resolve callable references taking into account expected callable types.
This affects call resolution procedure (resolve 'foo' in for 'foo(::bar)') similar to the approach used for function literals:
* During "shape arguments" phase of call resolution, callable references are resolved in independent context without expected type. If the callable reference is ambiguous, its shape type is a function placeholder type without parameter types and return type information. Otherwise, it is a reflection type for the resolved function or property. Upper-level call is resolved without taking into account ambiguous callable references.
* During "complete call" phase of call resolution, resolve callable reference arguments to actual descriptors (if possible), and update constraint system for the given call accordingly.
#KT-6982 Fixed
#KT-5780 Fixed
2015-07-21 18:33:15 +03:00
Dmitry Jemerov
b791ea03a9
code cleanup: cli-common module
2015-07-21 16:21:48 +02:00
Dmitry Jemerov
6a6f369e5d
code cleanup: plugin-api module
2015-07-21 16:20:56 +02:00
Dmitry Jemerov
43d2af166e
code cleanup: light-classes module
2015-07-21 16:20:56 +02:00
Dmitry Jemerov
a73df901ae
code cleanup: frontend.java module
2015-07-21 16:20:55 +02:00
Dmitry Jemerov
6bf934b472
code cleanup: frontend module
2015-07-21 16:20:51 +02:00
Dmitry Jemerov
e6776ebd8e
code cleanup: container module
2015-07-21 16:20:12 +02:00
Dmitry Jemerov
7c2b2dcc6a
code cleanup: backend-common, cli modules
2015-07-21 16:20:11 +02:00
Dmitry Jemerov
7db1650149
code cleanup: ant, backend modules
2015-07-21 16:20:10 +02:00
Valentin Kipyatkov
14b63759a9
Added comment
2015-07-21 16:00:10 +03:00
Mikhail Glukhikh
94a00540be
Targeting / retention for a set of standard annotations, some inapplicable annotation checks replaced with target check, some fixed tests
2015-07-21 15:36:53 +03:00