Commit Graph

317 Commits

Author SHA1 Message Date
Nikolay Krasko 2d72b5afc7 Render short type names in quick documentation and navigation 2014-06-05 17:47:58 +04:00
Andrey Breslav 7f60ccf663 Support equalityAxioms in isSubtypeOf() 2014-06-02 22:05:33 +04:00
Andrey Breslav 9cfbfd2806 Overridability and overloadability checks separated 2014-06-02 22:05:33 +04:00
Andrey Breslav 3f151a022e Checking return value supported in OverridingUtil 2014-06-02 22:05:32 +04:00
Andrey Breslav e50a17e668 Do not compare local classes by FqNames 2014-06-02 22:05:32 +04:00
Andrey Breslav 93031c1245 OverridingUtil parameterized with equalityAxioms 2014-06-02 22:05:30 +04:00
Andrey Breslav f54e2bc498 OverridingUtil turned into a singleton 2014-06-02 22:05:30 +04:00
Andrey Breslav 67b8d3a875 Minor. Methods reordered 2014-06-02 22:05:29 +04:00
Andrey Breslav b022395cb8 Using strategy instead of BiMap 2014-06-02 22:05:29 +04:00
Andrey Breslav a0d8cefe16 Minor. If's with the same condition merged 2014-06-02 22:05:28 +04:00
Nikolay Krasko 1bc8812613 Don't add space if it has been already added or it's not yet needed 2014-05-30 00:04:10 +04:00
Nikolay Krasko 3494853cc3 Add location string showing where method or property is defined 2014-05-30 00:04:06 +04:00
Nikolay Krasko 58d9375a25 Set up rendering for structure elements 2014-05-30 00:04:04 +04:00
Nikolay Krasko 2d6dc5db68 Revise JetStructureViewElement
- remove 'my' prefix
- inline ItemPresentation
- use descriptor renderer instead of custom one
2014-05-30 00:04:04 +04:00
Alexey Sedunov ab5e0c8c9c Move: Retain imports when moving top-level declaration
#KT-5049 Fixed
2014-05-28 21:06:00 +04:00
Mikhael Bogdanov 9773015548 Fix visibility for main script function 2014-05-26 14:48:37 +04:00
Alexander Udalov 3c3d120004 Prohibit implicit overrides with lesser visibility
A non-abstract super-declaration is allowed to stand as 'an implementation' of
a fake override only if its visibility is not less than visibilities of all
other super-declarations

 #KT-2491 Fixed
2014-05-22 19:32:10 +04:00
Alexander Udalov db25f568dc Don't report "cannot infer visibility" on property accessors
If the diagnostic is already reported on the corresponding property, no need to
report it again for accessors
2014-05-22 19:32:10 +04:00
Andrey Breslav bee4dbc672 Error types should not be compared by FqName 2014-05-21 23:31:32 +04:00
Andrey Breslav a66f44e4f5 TypeConstructor's equality for classes relies on FqNames
This is needed because different modules/libraries may define classes with the same FqNames, which may be identical or slightly different.
 Such classes must be considered equal, because your dependencies may rely on different packagings of the same codebase, and the classes there will be distinct though identical
  (think intellij-core vs idea-full).
2014-05-21 23:31:32 +04:00
Andrey Breslav f714382bd8 ErrorClassDescriptor moved to ErrorUtils 2014-05-21 23:31:31 +04:00
Svetlana Isakova e0f37bbef0 Generate parse error on label without name '@' 2014-05-20 15:07:03 +04:00
Svetlana Isakova 3bcdbee2bf Removed LabelName class, used Name instead 2014-05-20 14:58:49 +04:00
Alexander Udalov ccead8e337 Replace some usages of ERROR_CLASS with new instance creation
Because when some class is unresolved, we can still hold some information such
as its FQ name, for debugging purposes and better error messages
2014-05-19 19:50:59 +04:00
Alexander Udalov 54a44b1533 Introduce AbstractTypeParameterDescriptor
- pull the logic up from TypeParameterDescriptorImpl and
  AbstractLazyTypeParameterDescriptor (it was mostly duplicated)
- delete some unused methods
2014-05-19 19:50:59 +04:00
Alexander Udalov 31e8622471 Remove suspicious JetTypeImpl constructors
Most of the time they were used for classes without type parameters, and
getDefaultType() is supposed to be used there (additionally it may be cached)
2014-05-19 19:50:59 +04:00
Alexander Udalov 3ffa7cdcf8 Minor optimization in KotlinBuiltIns.isSpecialClassWithNoSupertypes 2014-05-19 19:50:58 +04:00
Alexander Udalov 5fdb9e6218 Change logic of loading "suppress" annotation class descriptor
Instead of loading the descriptor and checking equals(), we now check if the
annotation is in fact "suppress" by simply comparing its FQ name. This allows
us to suppress warnings while compiling built-ins: the problem is that
built-ins have its own "suppress" annotation class (defined in the sources)
which differs from the one loaded by the compiler (from kotlin-compiler.jar)
2014-05-19 19:50:58 +04:00
Alexander Udalov 41eb0deaa0 Introduce FunctionImpl and ExtensionFunctionImpl classes
Old FunctionImpl0,1,2,... will be dropped since they had no purpose
2014-05-19 19:50:58 +04:00
Alexander Udalov 845e3323f9 Create error type if reflection class isn't found
Introduce a new diagnostic fired when reflection types aren't found in the
classpath
2014-05-19 19:50:57 +04:00
Alexander Udalov c1cd8bf069 Use module instead of KotlinBuiltIns in ReflectionTypes 2014-05-19 19:50:56 +04:00
Alexander Udalov b27b8bf8b2 Extract DescriptorUtils.getContainingModule() 2014-05-19 19:50:56 +04:00
Andrey Breslav 7bce9060e2 Better handling of PackageTypes in KotlinBuiltIns 2014-05-19 19:28:14 +04:00
Andrey Breslav f72dcb8ee2 Fix for EA-53605 - UOE: PackageType.throwException 2014-05-19 17:02:18 +04:00
Andrey Breslav 8885d5709e Private inside a package should be visible only inside this package in the same module 2014-05-19 13:02:25 +04:00
Zack Grannan 42f186b33f Added String Concat -> Interpolation Intention (KT-4750) 2014-05-16 19:00:25 +04:00
Alexander Udalov c7277250d9 Use ReflectionTypes instead of KotlinBuiltIns in type checker 2014-05-08 16:45:15 +04:00
Valentin Kipyatkov 717977af61 No more java lookup elements in code completion (except for one case) 2014-05-07 22:50:21 +04:00
Alexander Udalov 42d167d17e Add missing copyrights across the project 2014-05-05 20:43:35 +04:00
Alexander Udalov 16daeb9544 Misc refactorings in KotlinBuiltIns
- delete fields which were supposed to be used for caching, but mistakenly were
  never used
- delete/inline unused methods and constants
- delete useless logic related to root package fragment: package fragment
  providers are only supposed to find packages they're aware of
2014-05-05 20:42:35 +04:00
Andrey Breslav 775c941f8a hasSynthesizedParameterNames() pulled up into CallableDescriptor 2014-04-30 16:30:17 +04:00
Svetlana Isakova 775606f80a Do not remove trivial substitutions
to avoid substituting a new type parameter by default instead of leaving the same
 #KT-4887 Fixed
2014-04-30 13:34:34 +04:00
Svetlana Isakova a57b4f6459 Render inferred and not inferred type parameters
while rendering a resolved call
2014-04-30 13:34:34 +04:00
Svetlana Isakova e59fa2083e Substituted special error type for not inferred parameter
Rendered it as T (of red color) in the renderer HTML_FOR_NOT_INFERRED_TYPE_PARAMETERS
 instead of '???' without information about type parameter
2014-04-30 13:34:32 +04:00
Alexander Udalov af421f53da Rename FQNAMES -> FQ_NAMES 2014-04-24 16:10:11 +04:00
Andrey Breslav bb87a6bb59 Only create lazy annotations for descriptors from code 2014-04-18 21:28:21 +04:00
Nikolay Krasko 068c9636fc Refactoring: rename TEXT to FQNAMES_IN_TYPES 2014-04-18 13:25:58 +04:00
Alexander Udalov 4c973b79ee Get rid of poorly named NotInferredVisibilitySink
Also make TraceBasedErrorReporter invoke OverrideResolver to report "cannot
infer visibility", because there's some additional logic there
2014-04-17 19:51:31 +04:00
Alexander Udalov 34e7584aec Move some utilities from OverridingUtil to OverrideResolver
OverridingUtil will be present at runtime and we should strive to minimize the
size of our runtime classes

Also add a comment to getOverriddenDescriptors()
2014-04-17 19:51:30 +04:00
Alexander Udalov 3dffd428ad Refactor OverrideResolver and OverridingUtil
Fix warnings, simplify code. Untangle a very complex code related to
diagnostics on multiple default values and different names of parameters in
supertypes; fix a bug there, add test
2014-04-17 19:51:30 +04:00