mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
WEB-76271 PolySymbols: remove PolySymbolOrigin property from PolySymbol interface
GitOrigin-RevId: acdbe7f1c6273287e041499a70f820c7138f8feb
This commit is contained in:
committed by
intellij-monorepo-bot
parent
53081cbe16
commit
d96b1728be
@@ -20,7 +20,6 @@
|
||||
- getModifiers():java.util.Set
|
||||
- a:getName():java.lang.String
|
||||
- getNavigationTargets(com.intellij.openapi.project.Project):java.util.Collection
|
||||
- a:getOrigin():com.intellij.polySymbols.PolySymbolOrigin
|
||||
- getPresentation():com.intellij.platform.backend.presentation.TargetPresentation
|
||||
- getPriority():com.intellij.polySymbols.PolySymbol$Priority
|
||||
- getPsiContext():com.intellij.psi.PsiElement
|
||||
@@ -200,11 +199,6 @@
|
||||
- s:getEntries():kotlin.enums.EnumEntries
|
||||
- s:valueOf(java.lang.String):com.intellij.polySymbols.PolySymbolNameSegment$MatchProblem
|
||||
- s:values():com.intellij.polySymbols.PolySymbolNameSegment$MatchProblem[]
|
||||
*:com.intellij.polySymbols.PolySymbolOrigin
|
||||
- *sf:Companion:com.intellij.polySymbols.PolySymbolOrigin$Companion
|
||||
- s:empty():com.intellij.polySymbols.PolySymbolOrigin
|
||||
*f:com.intellij.polySymbols.PolySymbolOrigin$Companion
|
||||
- f:empty():com.intellij.polySymbols.PolySymbolOrigin
|
||||
*:com.intellij.polySymbols.PolySymbolProperty
|
||||
- *sf:Companion:com.intellij.polySymbols.PolySymbolProperty$Companion
|
||||
- s:get(java.lang.String,java.lang.Class):com.intellij.polySymbols.PolySymbolProperty
|
||||
@@ -729,13 +723,13 @@
|
||||
*:com.intellij.polySymbols.query.PolySymbolMatch
|
||||
- com.intellij.polySymbols.CompositePolySymbol
|
||||
- *sf:Companion:com.intellij.polySymbols.query.PolySymbolMatch$Companion
|
||||
- s:create(java.lang.String,com.intellij.polySymbols.PolySymbolKind,com.intellij.polySymbols.PolySymbolOrigin,kotlin.jvm.functions.Function1):com.intellij.polySymbols.query.PolySymbolMatch
|
||||
- s:create(java.lang.String,com.intellij.polySymbols.PolySymbolKind,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolNameSegment[]):com.intellij.polySymbols.query.PolySymbolMatch
|
||||
- s:create(java.lang.String,com.intellij.polySymbols.PolySymbolKind,kotlin.jvm.functions.Function1):com.intellij.polySymbols.query.PolySymbolMatch
|
||||
- s:create(java.lang.String,com.intellij.polySymbols.PolySymbolKind,com.intellij.polySymbols.PolySymbolNameSegment[]):com.intellij.polySymbols.query.PolySymbolMatch
|
||||
- a:getMatchedName():java.lang.String
|
||||
- a:withCustomProperties(java.util.Map):com.intellij.polySymbols.query.PolySymbolMatch
|
||||
*f:com.intellij.polySymbols.query.PolySymbolMatch$Companion
|
||||
- f:create(java.lang.String,com.intellij.polySymbols.PolySymbolKind,com.intellij.polySymbols.PolySymbolOrigin,kotlin.jvm.functions.Function1):com.intellij.polySymbols.query.PolySymbolMatch
|
||||
- f:create(java.lang.String,com.intellij.polySymbols.PolySymbolKind,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolNameSegment[]):com.intellij.polySymbols.query.PolySymbolMatch
|
||||
- f:create(java.lang.String,com.intellij.polySymbols.PolySymbolKind,kotlin.jvm.functions.Function1):com.intellij.polySymbols.query.PolySymbolMatch
|
||||
- f:create(java.lang.String,com.intellij.polySymbols.PolySymbolKind,com.intellij.polySymbols.PolySymbolNameSegment[]):com.intellij.polySymbols.query.PolySymbolMatch
|
||||
*:com.intellij.polySymbols.query.PolySymbolMatchBuilder
|
||||
- a:addNameSegment(com.intellij.polySymbols.PolySymbolNameSegment):com.intellij.polySymbols.query.PolySymbolMatchBuilder
|
||||
- a:addNameSegments(java.util.List):com.intellij.polySymbols.query.PolySymbolMatchBuilder
|
||||
@@ -1035,18 +1029,17 @@
|
||||
*f:com.intellij.polySymbols.utils.MappedPolySymbol
|
||||
- com.intellij.polySymbols.query.PolySymbolWithPattern
|
||||
- *sf:Companion:com.intellij.polySymbols.utils.MappedPolySymbol$Companion
|
||||
- sf:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolQualifiedName[]):com.intellij.polySymbols.utils.MappedPolySymbol
|
||||
- sf:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolQualifiedName[],com.intellij.polySymbols.PolySymbol$Priority):com.intellij.polySymbols.utils.MappedPolySymbol
|
||||
- sf:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolQualifiedName[]):com.intellij.polySymbols.utils.MappedPolySymbol
|
||||
- sf:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolQualifiedName[],com.intellij.polySymbols.PolySymbol$Priority):com.intellij.polySymbols.utils.MappedPolySymbol
|
||||
- createPointer():com.intellij.model.Pointer
|
||||
- getKind():com.intellij.polySymbols.PolySymbolKind
|
||||
- getName():java.lang.String
|
||||
- getOrigin():com.intellij.polySymbols.PolySymbolOrigin
|
||||
- getPattern():com.intellij.polySymbols.patterns.PolySymbolPattern
|
||||
- getPriority():com.intellij.polySymbols.PolySymbol$Priority
|
||||
*f:com.intellij.polySymbols.utils.MappedPolySymbol$Companion
|
||||
- f:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolQualifiedName[]):com.intellij.polySymbols.utils.MappedPolySymbol
|
||||
- f:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolQualifiedName[],com.intellij.polySymbols.PolySymbol$Priority):com.intellij.polySymbols.utils.MappedPolySymbol
|
||||
- bs:create$default(com.intellij.polySymbols.utils.MappedPolySymbol$Companion,com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolQualifiedName[],com.intellij.polySymbols.PolySymbol$Priority,I,java.lang.Object):com.intellij.polySymbols.utils.MappedPolySymbol
|
||||
- f:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolQualifiedName[]):com.intellij.polySymbols.utils.MappedPolySymbol
|
||||
- f:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolQualifiedName[],com.intellij.polySymbols.PolySymbol$Priority):com.intellij.polySymbols.utils.MappedPolySymbol
|
||||
- bs:create$default(com.intellij.polySymbols.utils.MappedPolySymbol$Companion,com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolQualifiedName[],com.intellij.polySymbols.PolySymbol$Priority,I,java.lang.Object):com.intellij.polySymbols.utils.MappedPolySymbol
|
||||
*f:com.intellij.polySymbols.utils.NameCaseUtils
|
||||
- sf:INSTANCE:com.intellij.polySymbols.utils.NameCaseUtils
|
||||
- sf:toCamelCase(java.lang.String):java.lang.String
|
||||
@@ -1095,7 +1088,6 @@
|
||||
- getModifiers():java.util.Set
|
||||
- getName():java.lang.String
|
||||
- getNavigationTargets(com.intellij.openapi.project.Project):java.util.Collection
|
||||
- getOrigin():com.intellij.polySymbols.PolySymbolOrigin
|
||||
- getPriority():com.intellij.polySymbols.PolySymbol$Priority
|
||||
- getPsiContext():com.intellij.psi.PsiElement
|
||||
- getQueryScope():java.util.List
|
||||
@@ -1228,22 +1220,21 @@
|
||||
*f:com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- com.intellij.polySymbols.query.PolySymbolWithPattern
|
||||
- *sf:Companion:com.intellij.polySymbols.utils.ReferencingPolySymbol$Companion
|
||||
- sf:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolKind[]):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- sf:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolKind[],com.intellij.polySymbols.PolySymbol$Priority):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- sf:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolKind[],com.intellij.polySymbols.PolySymbol$Priority,java.util.List):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- sf:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolKind[]):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- sf:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolKind[],com.intellij.polySymbols.PolySymbol$Priority):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- sf:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolKind[],com.intellij.polySymbols.PolySymbol$Priority,java.util.List):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- createPointer():com.intellij.model.Pointer
|
||||
- equals(java.lang.Object):Z
|
||||
- getKind():com.intellij.polySymbols.PolySymbolKind
|
||||
- getName():java.lang.String
|
||||
- getOrigin():com.intellij.polySymbols.PolySymbolOrigin
|
||||
- getPattern():com.intellij.polySymbols.patterns.PolySymbolPattern
|
||||
- getPriority():com.intellij.polySymbols.PolySymbol$Priority
|
||||
- hashCode():I
|
||||
*f:com.intellij.polySymbols.utils.ReferencingPolySymbol$Companion
|
||||
- f:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolKind[]):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- f:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolKind[],com.intellij.polySymbols.PolySymbol$Priority):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- f:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolKind[],com.intellij.polySymbols.PolySymbol$Priority,java.util.List):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- bs:create$default(com.intellij.polySymbols.utils.ReferencingPolySymbol$Companion,com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolOrigin,com.intellij.polySymbols.PolySymbolKind[],com.intellij.polySymbols.PolySymbol$Priority,java.util.List,I,java.lang.Object):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- f:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolKind[]):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- f:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolKind[],com.intellij.polySymbols.PolySymbol$Priority):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- f:create(com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolKind[],com.intellij.polySymbols.PolySymbol$Priority,java.util.List):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
- bs:create$default(com.intellij.polySymbols.utils.ReferencingPolySymbol$Companion,com.intellij.polySymbols.PolySymbolKind,java.lang.String,com.intellij.polySymbols.PolySymbolKind[],com.intellij.polySymbols.PolySymbol$Priority,java.util.List,I,java.lang.Object):com.intellij.polySymbols.utils.ReferencingPolySymbol
|
||||
*:com.intellij.polySymbols.webTypes.WebTypesSymbol
|
||||
- com.intellij.polySymbols.query.PolySymbolScope
|
||||
- com.intellij.polySymbols.search.PsiSourcedPolySymbol
|
||||
@@ -1303,7 +1294,6 @@
|
||||
- getModificationCount():J
|
||||
- getModifiers():java.util.Set
|
||||
- f:getName():java.lang.String
|
||||
- f:getOrigin():com.intellij.polySymbols.PolySymbolOrigin
|
||||
- f:getPriority():com.intellij.polySymbols.PolySymbol$Priority
|
||||
- pf:getQueryExecutor():com.intellij.polySymbols.query.PolySymbolQueryExecutor
|
||||
- f:getQueryScope():java.util.List
|
||||
|
||||
+3
-5
@@ -3,15 +3,13 @@ package com.intellij.polySymbols.customElements
|
||||
|
||||
import com.intellij.openapi.util.NlsSafe
|
||||
import com.intellij.openapi.util.UserDataHolderEx
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.customElements.json.SourceReference
|
||||
import com.intellij.polySymbols.utils.PolySymbolTypeSupport
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.annotations.ApiStatus.Internal
|
||||
import javax.swing.Icon
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
@Internal
|
||||
interface CustomElementsJsonOrigin : PolySymbolOrigin {
|
||||
@ApiStatus.Internal
|
||||
interface CustomElementsJsonOrigin {
|
||||
val library: String
|
||||
|
||||
val version: String?
|
||||
|
||||
+6
-2
@@ -11,10 +11,14 @@ import com.intellij.polySymbols.documentation.PolySymbolDocumentationTarget
|
||||
import com.intellij.polySymbols.query.PolySymbolScope
|
||||
import com.intellij.polySymbols.utils.PolySymbolTypeSupport.Companion.PROP_TYPE_SUPPORT
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import org.jetbrains.annotations.Nls
|
||||
|
||||
interface CustomElementsSymbol : PolySymbol, PolySymbolScope {
|
||||
|
||||
@get:ApiStatus.Internal
|
||||
val origin: CustomElementsJsonOrigin
|
||||
|
||||
val description: @Nls String? get() = null
|
||||
|
||||
val defaultValue: @NlsSafe String? get() = null
|
||||
@@ -23,14 +27,14 @@ interface CustomElementsSymbol : PolySymbol, PolySymbolScope {
|
||||
PolySymbolDocumentationTarget.create(this, location) { symbol, _ ->
|
||||
description = symbol.description
|
||||
defaultValue = symbol.defaultValue
|
||||
library = (symbol.origin as? CustomElementsJsonOrigin)?.let { origin ->
|
||||
library = symbol.origin.let { origin ->
|
||||
library + (origin.version?.takeIf { it != "0.0.0" }?.let { "@$it" } ?: "")
|
||||
}
|
||||
}
|
||||
|
||||
override fun <T : Any> get(property: PolySymbolProperty<T>): T? =
|
||||
when (property) {
|
||||
PROP_TYPE_SUPPORT -> property.tryCast((origin as CustomElementsJsonOrigin).typeSupport)
|
||||
PROP_TYPE_SUPPORT -> property.tryCast(origin.typeSupport)
|
||||
else -> super.get(property)
|
||||
}
|
||||
|
||||
|
||||
+1
-2
@@ -5,7 +5,6 @@ import com.intellij.model.Pointer
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolApiStatus
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.context.PolyContext
|
||||
import com.intellij.polySymbols.customElements.CustomElementsJsonOrigin
|
||||
import com.intellij.polySymbols.customElements.CustomElementsSymbol
|
||||
@@ -21,7 +20,7 @@ import com.intellij.polySymbols.query.PolySymbolWithPattern
|
||||
|
||||
class CustomElementsCustomElementExportSymbol private constructor(
|
||||
override val name: String,
|
||||
override val origin: PolySymbolOrigin,
|
||||
override val origin: CustomElementsJsonOrigin,
|
||||
override val pattern: PolySymbolPattern,
|
||||
override val apiStatus: PolySymbolApiStatus,
|
||||
) : CustomElementsSymbol, PolySymbolWithPattern, StaticPolySymbolScopeBase.StaticSymbolContributionAdapter {
|
||||
|
||||
+3
-4
@@ -3,17 +3,16 @@ package com.intellij.polySymbols.webTypes
|
||||
|
||||
import com.intellij.openapi.util.NlsSafe
|
||||
import com.intellij.openapi.util.UserDataHolderEx
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.context.PolyContext
|
||||
import com.intellij.polySymbols.framework.FrameworkId
|
||||
import com.intellij.polySymbols.utils.PolySymbolTypeSupport
|
||||
import com.intellij.polySymbols.webTypes.json.SourceBase
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.annotations.ApiStatus.Internal
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import javax.swing.Icon
|
||||
|
||||
@Internal
|
||||
interface WebTypesJsonOrigin : PolySymbolOrigin {
|
||||
@ApiStatus.Internal
|
||||
interface WebTypesJsonOrigin {
|
||||
val framework: @NlsSafe FrameworkId?
|
||||
|
||||
val defaultIcon: Icon?
|
||||
|
||||
@@ -8,11 +8,15 @@ import com.intellij.polySymbols.js.JS_PROPERTIES
|
||||
import com.intellij.polySymbols.js.JS_STRING_LITERALS
|
||||
import com.intellij.polySymbols.query.PolySymbolScope
|
||||
import com.intellij.polySymbols.search.PsiSourcedPolySymbol
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
interface WebTypesSymbol : PsiSourcedPolySymbol, PolySymbolScope {
|
||||
|
||||
val location: Location?
|
||||
|
||||
@get:ApiStatus.Internal
|
||||
val origin: WebTypesJsonOrigin
|
||||
|
||||
override fun createPointer(): Pointer<out WebTypesSymbol>
|
||||
|
||||
companion object {
|
||||
|
||||
+6
-4
@@ -23,6 +23,7 @@ import com.intellij.polySymbols.webTypes.impl.WebTypesJsonContributionAdapter
|
||||
import com.intellij.polySymbols.webTypes.impl.wrap
|
||||
import com.intellij.polySymbols.webTypes.json.*
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import javax.swing.Icon
|
||||
|
||||
open class WebTypesSymbolBase : WebTypesSymbol {
|
||||
@@ -117,7 +118,7 @@ open class WebTypesSymbolBase : WebTypesSymbol {
|
||||
stack: PolySymbolQueryStack,
|
||||
): List<PolySymbol> =
|
||||
base.rootScope
|
||||
.getSymbols(base.contributionForQuery, this.origin as WebTypesJsonOrigin, kind, params)
|
||||
.getSymbols(base.contributionForQuery, base.jsonOrigin, kind, params)
|
||||
.toList()
|
||||
|
||||
final override fun getCodeCompletions(
|
||||
@@ -132,7 +133,8 @@ open class WebTypesSymbolBase : WebTypesSymbol {
|
||||
final override val kind: PolySymbolKind
|
||||
get() = base.kind
|
||||
|
||||
final override val origin: PolySymbolOrigin
|
||||
@get:ApiStatus.Internal
|
||||
final override val origin: WebTypesJsonOrigin
|
||||
get() = base.jsonOrigin
|
||||
|
||||
final override val name: String
|
||||
@@ -166,7 +168,7 @@ open class WebTypesSymbolBase : WebTypesSymbol {
|
||||
}
|
||||
|
||||
final override val apiStatus: PolySymbolApiStatus
|
||||
get() = base.contribution.toApiStatus(origin as WebTypesJsonOrigin)
|
||||
get() = base.contribution.toApiStatus(base.jsonOrigin)
|
||||
|
||||
final override val extension: Boolean
|
||||
get() = base.contribution.extension == true
|
||||
@@ -208,7 +210,7 @@ open class WebTypesSymbolBase : WebTypesSymbol {
|
||||
|
||||
internal class WebTypesSymbolWithPattern(private val jsonPattern: NamePatternRoot) : WebTypesSymbolBase(), PolySymbolWithPattern {
|
||||
override val pattern: PolySymbolPattern
|
||||
get() = jsonPattern.wrap(base.contribution.name, origin as WebTypesJsonOrigin)
|
||||
get() = jsonPattern.wrap(base.contribution.name, base.jsonOrigin)
|
||||
}
|
||||
|
||||
private inner class HtmlAttributeValueImpl(private val value: HtmlAttributeValue) : PolySymbolHtmlAttributeValue {
|
||||
|
||||
+8
-6
@@ -153,9 +153,10 @@ private class WebTypesComplexPatternConfigProvider(
|
||||
}
|
||||
else {
|
||||
val lastContribution = stack.peek() as PolySymbol
|
||||
listOf(PolySymbolMatch.create(listResult.name, listResult.segments,
|
||||
PolySymbolKind[lastContribution.namespace, SPECIAL_MATCHED_CONTRIB],
|
||||
lastContribution.origin))
|
||||
listOf(PolySymbolMatch.create(
|
||||
listResult.name, listResult.segments,
|
||||
PolySymbolKind[lastContribution.namespace, SPECIAL_MATCHED_CONTRIB]
|
||||
))
|
||||
}
|
||||
}
|
||||
?: emptyList()
|
||||
@@ -175,9 +176,10 @@ private class WebTypesComplexPatternConfigProvider(
|
||||
}
|
||||
else {
|
||||
val lastContribution = stack.peek() as PolySymbol
|
||||
sequenceOf(PolySymbolMatch.create(name, matchResult.segments,
|
||||
PolySymbolKind[lastContribution.namespace, SPECIAL_MATCHED_CONTRIB],
|
||||
lastContribution.origin))
|
||||
sequenceOf(PolySymbolMatch.create(
|
||||
name, matchResult.segments,
|
||||
PolySymbolKind[lastContribution.namespace, SPECIAL_MATCHED_CONTRIB]
|
||||
))
|
||||
}
|
||||
}
|
||||
?: emptyList()
|
||||
|
||||
@@ -77,13 +77,6 @@ import javax.swing.Icon
|
||||
@Suppress("INAPPLICABLE_JVM_NAME")
|
||||
interface PolySymbol : Symbol, NavigatableSymbol, PolySymbolPrioritizedScope {
|
||||
|
||||
/**
|
||||
* Specifies where this symbol comes from. Besides descriptive information like
|
||||
* framework, library, version or default icon, it also provides an interface to
|
||||
* load symbol types and icons.
|
||||
**/
|
||||
val origin: PolySymbolOrigin
|
||||
|
||||
/**
|
||||
* Describes which group of symbols (kind) within the particular language
|
||||
* or concept (namespace) the symbol belongs to.
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.polySymbols
|
||||
|
||||
import com.intellij.polySymbols.impl.PolySymbolOriginImpl
|
||||
import javax.swing.Icon
|
||||
|
||||
interface PolySymbolOrigin {
|
||||
|
||||
companion object {
|
||||
|
||||
@JvmStatic
|
||||
fun empty(): PolySymbolOrigin =
|
||||
PolySymbolOriginImpl.empty
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.polySymbols.impl
|
||||
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
|
||||
internal class PolySymbolOriginImpl : PolySymbolOrigin {
|
||||
companion object {
|
||||
val empty = PolySymbolOriginImpl()
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,6 @@ package com.intellij.polySymbols.impl
|
||||
import com.intellij.model.Pointer
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.PolySymbolQualifiedName
|
||||
import com.intellij.polySymbols.completion.PolySymbolCodeCompletionItem
|
||||
import com.intellij.polySymbols.context.PolyContext
|
||||
@@ -16,7 +15,7 @@ import org.jetbrains.annotations.ApiStatus.Internal
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
@Internal
|
||||
abstract class StaticPolySymbolScopeBase<Root : Any, Contribution : Any, Origin : PolySymbolOrigin> : StaticPolySymbolScope {
|
||||
abstract class StaticPolySymbolScopeBase<Root : Any, Contribution : Any, Origin> : StaticPolySymbolScope {
|
||||
|
||||
private val namesProviderCache: MutableMap<PolySymbolNamesProvider, NameProvidersCache> =
|
||||
ContainerUtil.createConcurrentSoftKeySoftValueMap()
|
||||
|
||||
@@ -5,7 +5,6 @@ import com.intellij.openapi.util.text.StringUtil
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolNameSegment
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.completion.PolySymbolCodeCompletionItem
|
||||
import com.intellij.polySymbols.completion.impl.CompoundInsertHandler
|
||||
import com.intellij.polySymbols.html.NAMESPACE_HTML
|
||||
@@ -241,8 +240,7 @@ internal class SequencePattern(private val patternsProvider: () -> List<PolySymb
|
||||
symbol = PolySymbolMatch.create(
|
||||
name,
|
||||
lastMatched.segments.filter { it.start < it.end }.withOffset(-lastMatched.start),
|
||||
PolySymbolKind[NAMESPACE_HTML, SPECIAL_MATCHED_CONTRIB],
|
||||
PolySymbolOrigin.empty()
|
||||
PolySymbolKind[NAMESPACE_HTML, SPECIAL_MATCHED_CONTRIB]
|
||||
))
|
||||
}
|
||||
val result = mutableListOf<PolySymbolCodeCompletionItem>()
|
||||
@@ -412,7 +410,7 @@ internal class SequencePattern(private val patternsProvider: () -> List<PolySymb
|
||||
|
||||
val mainSymbol = second ?: first ?: return null
|
||||
|
||||
return PolySymbolMatch.create(name, mainSymbol.kind, mainSymbol.origin) {
|
||||
return PolySymbolMatch.create(name, mainSymbol.kind) {
|
||||
addNameSegments(first.toNameSegments(0, firstNameLength))
|
||||
addNameSegments(second.toNameSegments(firstNameLength, name.length))
|
||||
}
|
||||
|
||||
@@ -2,7 +2,10 @@
|
||||
package com.intellij.polySymbols.query
|
||||
|
||||
import com.intellij.openapi.util.NlsSafe
|
||||
import com.intellij.polySymbols.*
|
||||
import com.intellij.polySymbols.CompositePolySymbol
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolNameSegment
|
||||
import com.intellij.polySymbols.query.impl.PolySymbolMatchBase
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
@@ -22,10 +25,9 @@ interface PolySymbolMatch : CompositePolySymbol {
|
||||
matchedName: String,
|
||||
nameSegments: List<PolySymbolNameSegment>,
|
||||
kind: PolySymbolKind,
|
||||
origin: PolySymbolOrigin,
|
||||
explicitPriority: PolySymbol.Priority? = null,
|
||||
): PolySymbolMatch =
|
||||
PolySymbolMatchBase.BuilderImpl(matchedName, kind, origin)
|
||||
PolySymbolMatchBase.BuilderImpl(matchedName, kind)
|
||||
.also { builder ->
|
||||
builder.addNameSegments(nameSegments)
|
||||
explicitPriority?.let { builder.explicitPriority(it) }
|
||||
@@ -36,10 +38,9 @@ interface PolySymbolMatch : CompositePolySymbol {
|
||||
fun create(
|
||||
matchedName: String,
|
||||
kind: PolySymbolKind,
|
||||
origin: PolySymbolOrigin,
|
||||
builder: (PolySymbolMatchBuilder.() -> Unit),
|
||||
): PolySymbolMatch =
|
||||
PolySymbolMatchBase.BuilderImpl(matchedName, kind, origin)
|
||||
PolySymbolMatchBase.BuilderImpl(matchedName, kind)
|
||||
.also { builder.invoke(it) }
|
||||
.build()
|
||||
|
||||
@@ -47,10 +48,9 @@ interface PolySymbolMatch : CompositePolySymbol {
|
||||
fun create(
|
||||
matchedName: String,
|
||||
kind: PolySymbolKind,
|
||||
origin: PolySymbolOrigin,
|
||||
vararg nameSegments: PolySymbolNameSegment,
|
||||
): PolySymbolMatch =
|
||||
PolySymbolMatchBase.BuilderImpl(matchedName, kind, origin)
|
||||
PolySymbolMatchBase.BuilderImpl(matchedName, kind)
|
||||
.also { it.addNameSegments(*nameSegments) }
|
||||
.build()
|
||||
|
||||
|
||||
+8
-15
@@ -26,7 +26,6 @@ internal open class PolySymbolMatchBase internal constructor(
|
||||
override val matchedName: String,
|
||||
override val nameSegments: List<PolySymbolNameSegment>,
|
||||
override val kind: PolySymbolKind,
|
||||
override val origin: PolySymbolOrigin,
|
||||
override val explicitPriority: Priority?,
|
||||
override val explicitProximity: Int?,
|
||||
override val additionalProperties: Map<String, Any>,
|
||||
@@ -41,7 +40,7 @@ internal open class PolySymbolMatchBase internal constructor(
|
||||
}
|
||||
|
||||
internal fun withSegments(segments: List<PolySymbolNameSegment>): PolySymbolMatch =
|
||||
create(matchedName, segments, kind, origin, explicitPriority, explicitProximity, additionalProperties)
|
||||
create(matchedName, segments, kind, explicitPriority, explicitProximity, additionalProperties)
|
||||
|
||||
|
||||
override val modifiers: Set<PolySymbolModifier>
|
||||
@@ -59,7 +58,6 @@ internal open class PolySymbolMatchBase internal constructor(
|
||||
override fun equals(other: Any?): Boolean =
|
||||
other is PolySymbolMatch
|
||||
&& other.name == name
|
||||
&& other.origin == origin
|
||||
&& other.kind == kind
|
||||
&& other.nameSegments.equalsIgnoreOffset(nameSegments)
|
||||
|
||||
@@ -71,7 +69,6 @@ internal open class PolySymbolMatchBase internal constructor(
|
||||
class BuilderImpl(
|
||||
private var matchedName: String,
|
||||
private var kind: PolySymbolKind,
|
||||
private var origin: PolySymbolOrigin,
|
||||
) : PolySymbolMatchBuilder {
|
||||
|
||||
private var nameSegments = mutableListOf<PolySymbolNameSegment>()
|
||||
@@ -81,7 +78,7 @@ internal open class PolySymbolMatchBase internal constructor(
|
||||
|
||||
fun build(): PolySymbolMatch =
|
||||
create(matchedName, nameSegments, kind,
|
||||
origin, explicitPriority, explicitProximity, properties)
|
||||
explicitPriority, explicitProximity, properties)
|
||||
|
||||
override fun addNameSegments(value: List<PolySymbolNameSegment>): PolySymbolMatchBuilder = this.also {
|
||||
nameSegments.addAll(value)
|
||||
@@ -114,11 +111,10 @@ private class PsiSourcedPolySymbolMatch(
|
||||
matchedName: String,
|
||||
nameSegments: List<PolySymbolNameSegment>,
|
||||
kind: PolySymbolKind,
|
||||
origin: PolySymbolOrigin,
|
||||
explicitPriority: Priority?,
|
||||
explicitProximity: Int?,
|
||||
additionalProperties: Map<String, Any>,
|
||||
) : PolySymbolMatchBase(matchedName, nameSegments, kind, origin, explicitPriority, explicitProximity, additionalProperties),
|
||||
) : PolySymbolMatchBase(matchedName, nameSegments, kind, explicitPriority, explicitProximity, additionalProperties),
|
||||
PsiSourcedPolySymbolMatchMixin {
|
||||
|
||||
override fun createPointer(): Pointer<PsiSourcedPolySymbolMatch> =
|
||||
@@ -130,7 +126,6 @@ private fun create(
|
||||
matchedName: String,
|
||||
nameSegments: List<PolySymbolNameSegment>,
|
||||
kind: PolySymbolKind,
|
||||
origin: PolySymbolOrigin,
|
||||
explicitPriority: Priority?,
|
||||
explicitProximity: Int?,
|
||||
additionalProperties: Map<String, Any>,
|
||||
@@ -138,11 +133,11 @@ private fun create(
|
||||
val psiSourcedMixin =
|
||||
nameSegments.all { it.start == it.end || (it.symbols.isNotEmpty() && it.symbols.any { symbol -> symbol is PsiSourcedPolySymbol }) }
|
||||
return if (psiSourcedMixin) {
|
||||
PsiSourcedPolySymbolMatch(matchedName, nameSegments, kind, origin,
|
||||
explicitPriority, explicitProximity, additionalProperties)
|
||||
PsiSourcedPolySymbolMatch(matchedName, nameSegments, kind, explicitPriority,
|
||||
explicitProximity, additionalProperties)
|
||||
}
|
||||
else {
|
||||
PolySymbolMatchBase(matchedName, nameSegments, kind, origin,
|
||||
PolySymbolMatchBase(matchedName, nameSegments, kind,
|
||||
explicitPriority, explicitProximity, additionalProperties)
|
||||
}
|
||||
}
|
||||
@@ -156,7 +151,7 @@ private interface PolySymbolMatchMixin : PolySymbolMatch {
|
||||
fun reversedSegments() = Sequence { ReverseListIterator(nameSegments) }
|
||||
|
||||
override fun withCustomProperties(properties: Map<String, Any>): PolySymbolMatch =
|
||||
create(matchedName, nameSegments, kind, origin, explicitPriority, explicitProximity, additionalProperties + properties)
|
||||
create(matchedName, nameSegments, kind, explicitPriority, explicitProximity, additionalProperties + properties)
|
||||
|
||||
override val psiContext: PsiElement?
|
||||
get() = reversedSegments().flatMap { it.symbols.asSequence() }
|
||||
@@ -298,7 +293,6 @@ private class PolySymbolMatchPointer<T : PolySymbolMatch>(
|
||||
matchedName: String,
|
||||
nameSegments: List<PolySymbolNameSegment>,
|
||||
kind: PolySymbolKind,
|
||||
origin: PolySymbolOrigin,
|
||||
explicitPriority: Priority?,
|
||||
explicitProximity: Int?,
|
||||
additionalProperties: Map<String, Any>,
|
||||
@@ -309,7 +303,6 @@ private class PolySymbolMatchPointer<T : PolySymbolMatch>(
|
||||
private val nameSegments = polySymbolMatch.nameSegments
|
||||
.map { it.createPointer() }
|
||||
private val kind = polySymbolMatch.kind
|
||||
private val origin = polySymbolMatch.origin
|
||||
private val explicitPriority = polySymbolMatch.explicitPriority
|
||||
private val explicitProximity = polySymbolMatch.explicitProximity
|
||||
private val additionalProperties = polySymbolMatch.additionalProperties
|
||||
@@ -324,7 +317,7 @@ private class PolySymbolMatchPointer<T : PolySymbolMatch>(
|
||||
if (dereferencingProblems.get()) return null
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
newInstanceProvider(matchedName, it as List<PolySymbolNameSegment>, kind, origin,
|
||||
newInstanceProvider(matchedName, it as List<PolySymbolNameSegment>, kind,
|
||||
explicitPriority, explicitProximity, dereferencedProperties)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -459,7 +459,7 @@ class PolySymbolQueryExecutorImpl(
|
||||
pattern
|
||||
.list(this, PolySymbolQueryStack(context + queryScope), params)
|
||||
.map {
|
||||
PolySymbolMatch.create(it.name, it.segments, kind, origin)
|
||||
PolySymbolMatch.create(it.name, it.segments, kind)
|
||||
}
|
||||
else
|
||||
listOf(this)
|
||||
|
||||
+1
-3
@@ -6,7 +6,6 @@ import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolNameSegment
|
||||
import com.intellij.polySymbols.PolySymbolNameSegment.MatchProblem
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.query.PolySymbolMatch
|
||||
|
||||
interface PsiPolySymbolReferenceProvider<T : PsiExternalReferenceHost> {
|
||||
@@ -27,8 +26,7 @@ interface PsiPolySymbolReferenceProvider<T : PsiExternalReferenceHost> {
|
||||
@JvmStatic
|
||||
fun unresolvedSymbol(kind: PolySymbolKind, name: String): PolySymbolMatch =
|
||||
PolySymbolMatch.create(
|
||||
name, kind, PolySymbolOrigin.empty(),
|
||||
PolySymbolNameSegment.create(0, name.length, problem = MatchProblem.UNKNOWN_SYMBOL)
|
||||
name, kind, PolySymbolNameSegment.create(0, name.length, problem = MatchProblem.UNKNOWN_SYMBOL)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ package com.intellij.polySymbols.utils
|
||||
import com.intellij.model.Pointer
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.PolySymbolQualifiedName
|
||||
import com.intellij.polySymbols.patterns.PolySymbolPattern
|
||||
import com.intellij.polySymbols.patterns.PolySymbolPatternFactory
|
||||
@@ -22,7 +21,6 @@ import com.intellij.polySymbols.query.PolySymbolWithPattern
|
||||
class MappedPolySymbol private constructor(
|
||||
override val kind: PolySymbolKind,
|
||||
override val name: String,
|
||||
override val origin: PolySymbolOrigin,
|
||||
vararg mappingPath: PolySymbolQualifiedName,
|
||||
override val priority: PolySymbol.Priority? = null,
|
||||
) : PolySymbolWithPattern {
|
||||
@@ -33,11 +31,10 @@ class MappedPolySymbol private constructor(
|
||||
fun create(
|
||||
kind: PolySymbolKind,
|
||||
name: String,
|
||||
origin: PolySymbolOrigin,
|
||||
vararg mappingPath: PolySymbolQualifiedName,
|
||||
priority: PolySymbol.Priority? = null,
|
||||
): MappedPolySymbol =
|
||||
MappedPolySymbol(kind, name, origin, *mappingPath, priority = priority)
|
||||
MappedPolySymbol(kind, name, *mappingPath, priority = priority)
|
||||
}
|
||||
|
||||
override val pattern: PolySymbolPattern =
|
||||
|
||||
@@ -24,8 +24,6 @@ interface PolySymbolDelegate<T : PolySymbol> : PolySymbol, PolySymbolScope {
|
||||
|
||||
override val psiContext: PsiElement?
|
||||
get() = delegate.psiContext
|
||||
override val origin: PolySymbolOrigin
|
||||
get() = delegate.origin
|
||||
override val kind: PolySymbolKind
|
||||
get() = delegate.kind
|
||||
override val queryScope: List<PolySymbolScope>
|
||||
|
||||
-1
@@ -7,7 +7,6 @@ import com.intellij.openapi.util.IntellijInternalApi
|
||||
import com.intellij.openapi.util.RecursionManager
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.PolySymbolQualifiedName
|
||||
import com.intellij.polySymbols.completion.PolySymbolCodeCompletionItem
|
||||
import com.intellij.polySymbols.framework.FrameworkId
|
||||
|
||||
@@ -60,8 +60,7 @@ fun List<PolySymbol>.asSingleSymbol(force: Boolean = false): PolySymbol? =
|
||||
if (!force && any { it.kind != first.kind })
|
||||
null
|
||||
else
|
||||
PolySymbolMatch.create(first.name, first.kind, first.origin,
|
||||
PolySymbolNameSegment.create(0, first.name.length, sortSymbolsByPriority()))
|
||||
PolySymbolMatch.create(first.name, first.kind, PolySymbolNameSegment.create(0, first.name.length, sortSymbolsByPriority()))
|
||||
}
|
||||
|
||||
fun PolySymbol.withMatchedName(matchedName: String): PolySymbol =
|
||||
@@ -70,7 +69,7 @@ fun PolySymbol.withMatchedName(matchedName: String): PolySymbol =
|
||||
nameSegments[0].withRange(0, matchedName.length)
|
||||
else
|
||||
PolySymbolNameSegment.create(0, matchedName.length, this)
|
||||
PolySymbolMatch.create(matchedName, kind, origin, nameSegment)
|
||||
PolySymbolMatch.create(matchedName, kind, nameSegment)
|
||||
}
|
||||
else this
|
||||
|
||||
@@ -81,7 +80,7 @@ fun PolySymbol.withMatchedKind(kind: PolySymbolKind): PolySymbol =
|
||||
nameSegments[0].withRange(0, matchedName.length)
|
||||
else
|
||||
PolySymbolNameSegment.create(0, matchedName.length, this)
|
||||
PolySymbolMatch.create(matchedName, kind, origin, nameSegment)
|
||||
PolySymbolMatch.create(matchedName, kind, nameSegment)
|
||||
}
|
||||
else this
|
||||
|
||||
@@ -160,7 +159,7 @@ fun PolySymbol.match(
|
||||
null
|
||||
}
|
||||
else {
|
||||
PolySymbolMatch.create(nameToMatch, matchResult.segments, kind, origin)
|
||||
PolySymbolMatch.create(nameToMatch, matchResult.segments, kind)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ package com.intellij.polySymbols.utils
|
||||
import com.intellij.model.Pointer
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.PolySymbolQualifiedName
|
||||
import com.intellij.polySymbols.patterns.ComplexPatternOptions
|
||||
import com.intellij.polySymbols.patterns.PolySymbolPattern
|
||||
@@ -19,7 +18,6 @@ import com.intellij.polySymbols.query.PolySymbolWithPattern
|
||||
class ReferencingPolySymbol private constructor(
|
||||
override val kind: PolySymbolKind,
|
||||
override val name: String,
|
||||
override val origin: PolySymbolOrigin,
|
||||
vararg references: PolySymbolKind,
|
||||
override val priority: PolySymbol.Priority?,
|
||||
private val location: List<PolySymbolQualifiedName> = emptyList(),
|
||||
@@ -31,13 +29,12 @@ class ReferencingPolySymbol private constructor(
|
||||
fun create(
|
||||
kind: PolySymbolKind,
|
||||
name: String,
|
||||
origin: PolySymbolOrigin,
|
||||
vararg kinds: PolySymbolKind,
|
||||
priority: PolySymbol.Priority? = null,
|
||||
location: List<PolySymbolQualifiedName> = emptyList(),
|
||||
): ReferencingPolySymbol =
|
||||
ReferencingPolySymbol(
|
||||
kind, name, origin, *kinds, priority = priority, location = location
|
||||
kind, name, *kinds, priority = priority, location = location
|
||||
)
|
||||
}
|
||||
|
||||
@@ -62,7 +59,6 @@ class ReferencingPolySymbol private constructor(
|
||||
other is ReferencingPolySymbol
|
||||
&& other.kind == kind
|
||||
&& other.name == name
|
||||
&& other.origin == origin
|
||||
&& other.priority == priority
|
||||
&& other.location == location
|
||||
&& other.references == references
|
||||
@@ -70,7 +66,6 @@ class ReferencingPolySymbol private constructor(
|
||||
override fun hashCode(): Int {
|
||||
var result = kind.hashCode()
|
||||
result = 31 * result + name.hashCode()
|
||||
result = 31 * result + origin.hashCode()
|
||||
result = 31 * result + priority.hashCode()
|
||||
result = 31 * result + location.hashCode()
|
||||
result = 31 * result + references.hashCode()
|
||||
|
||||
+1
-2
@@ -18,7 +18,6 @@ import com.intellij.polySymbols.utils.PolySymbolTypeSupport.Companion.PROP_TYPE_
|
||||
import com.intellij.polySymbols.utils.completeMatch
|
||||
import com.intellij.polySymbols.utils.nameSegments
|
||||
import com.intellij.polySymbols.utils.qualifiedName
|
||||
import com.intellij.polySymbols.webTypes.WebTypesJsonOrigin
|
||||
import com.intellij.polySymbols.webTypes.WebTypesSymbol
|
||||
import com.intellij.util.applyIf
|
||||
import com.intellij.util.asSafely
|
||||
@@ -88,7 +87,7 @@ open class PolySymbolsDebugOutputPrinter : DebugOutputPrinter() {
|
||||
|
||||
printProperty(level,
|
||||
"origin",
|
||||
"${documentation?.library} (${(source.origin as? WebTypesJsonOrigin)?.framework ?: "<none>"})")
|
||||
"${documentation?.library} (${(source as? WebTypesSymbol)?.origin?.framework ?: "<none>"})")
|
||||
printProperty(level, "source", (source as? PsiSourcedPolySymbol)?.source)
|
||||
printProperty(level, "type", source[PROP_TYPE_SUPPORT]?.typeProperty?.let { source[it] })
|
||||
printProperty(level, "attrValue", source.htmlAttributeValue)
|
||||
|
||||
-2
@@ -397,8 +397,6 @@ class PolySymbolsNameQueryTest : PolySymbolsMockQueryExecutorTestBase() {
|
||||
): List<PolySymbol> {
|
||||
return if (qualifiedName.kind == HTML_ATTRIBUTES) {
|
||||
listOf(object : PolySymbol {
|
||||
override val origin: PolySymbolOrigin
|
||||
get() = PolySymbolOrigin.empty()
|
||||
override val kind: PolySymbolKind
|
||||
get() = HTML_ATTRIBUTES
|
||||
override val name: String
|
||||
|
||||
-4
@@ -17,7 +17,6 @@ import com.intellij.platform.backend.navigation.NavigationTarget
|
||||
import com.intellij.platform.backend.presentation.TargetPresentation
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.PolySymbolProperty
|
||||
import com.intellij.polySymbols.references.PsiPolySymbolReferenceProvider
|
||||
import com.intellij.pom.Navigatable
|
||||
@@ -50,9 +49,6 @@ internal class CommitMessageReferenceProvider : PsiPolySymbolReferenceProvider<P
|
||||
override val name: @NlsSafe String,
|
||||
private val linkMatch: IssueNavigationConfiguration.LinkMatch,
|
||||
) : PolySymbol {
|
||||
override val origin: PolySymbolOrigin
|
||||
get() = PolySymbolOrigin.empty()
|
||||
|
||||
override val kind: PolySymbolKind = PolySymbolKind["vcs", "issue"]
|
||||
|
||||
override fun createPointer(): Pointer<out PolySymbol> = hardPointer(this)
|
||||
|
||||
@@ -21,7 +21,6 @@ import com.intellij.platform.backend.navigation.NavigationTarget
|
||||
import com.intellij.platform.backend.presentation.TargetPresentation
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.PolySymbolProperty
|
||||
import com.intellij.polySymbols.documentation.PolySymbolDocumentationTarget
|
||||
import com.intellij.pom.Navigatable
|
||||
@@ -65,9 +64,6 @@ sealed class AbstractTaskSymbol : PolySymbol, DocumentationSymbol {
|
||||
|
||||
abstract val task: Task?
|
||||
|
||||
override val origin: PolySymbolOrigin
|
||||
get() = PolySymbolOrigin.empty()
|
||||
|
||||
override val kind: PolySymbolKind
|
||||
get() = TASKS_TASKS
|
||||
|
||||
|
||||
@@ -6,15 +6,14 @@ import com.intellij.polySymbols.PolySymbolProperty
|
||||
import com.intellij.polySymbols.context.PolyContext
|
||||
import com.intellij.polySymbols.framework.FrameworkId
|
||||
import com.intellij.polySymbols.html.HtmlFrameworkSymbolsSupport.Companion.PROP_HTML_FRAMEWORK_ID
|
||||
import com.intellij.polySymbols.webTypes.WebTypesJsonOrigin
|
||||
import com.intellij.polySymbols.utils.unwrapMatchedSymbols
|
||||
import com.intellij.polySymbols.webTypes.WebTypesSymbol
|
||||
import com.intellij.util.asSafely
|
||||
|
||||
val PolySymbol.framework: FrameworkId?
|
||||
get() =
|
||||
when (this) {
|
||||
is HtmlFrameworkSymbol -> this.framework
|
||||
else -> this.origin.asSafely<WebTypesJsonOrigin>()?.framework
|
||||
else -> unwrapMatchedSymbols().firstNotNullOfOrNull { (it as? WebTypesSymbol)?.origin?.framework }
|
||||
?: this[PROP_HTML_FRAMEWORK_ID]
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -5,7 +5,10 @@ import com.intellij.documentation.mdn.MdnSymbolDocumentation
|
||||
import com.intellij.documentation.mdn.getDomEventDocumentation
|
||||
import com.intellij.model.Pointer
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.polySymbols.*
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolModifier
|
||||
import com.intellij.polySymbols.PolySymbolQualifiedName
|
||||
import com.intellij.polySymbols.html.attributes.HtmlAttributeSymbolDescriptor
|
||||
import com.intellij.polySymbols.html.attributes.asHtmlSymbol
|
||||
import com.intellij.polySymbols.html.elements.HtmlElementSymbolDescriptor
|
||||
@@ -183,9 +186,6 @@ class HtmlSymbolQueryScopeContributor : PolySymbolQueryScopeContributor {
|
||||
|
||||
override val name: String = descriptor.name.substring(2)
|
||||
|
||||
override val origin: PolySymbolOrigin
|
||||
get() = PolySymbolOrigin.empty()
|
||||
|
||||
override val priority: PolySymbol.Priority
|
||||
get() = PolySymbol.Priority.LOW
|
||||
|
||||
|
||||
+4
-6
@@ -7,7 +7,10 @@ import com.intellij.documentation.mdn.getHtmlMdnAttributeDocumentation
|
||||
import com.intellij.model.Pointer
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.NlsSafe
|
||||
import com.intellij.polySymbols.*
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolModifier
|
||||
import com.intellij.polySymbols.PolySymbolProperty
|
||||
import com.intellij.polySymbols.html.*
|
||||
import com.intellij.polySymbols.query.PolySymbolListSymbolsQueryParams
|
||||
import com.intellij.polySymbols.query.PolySymbolQueryStack
|
||||
@@ -45,9 +48,6 @@ internal class HtmlAttributeDescriptorBasedSymbol private constructor(
|
||||
|
||||
override val name: String = descriptor.name
|
||||
|
||||
override val origin: PolySymbolOrigin
|
||||
get() = PolySymbolOrigin.Companion.empty()
|
||||
|
||||
override val priority: PolySymbol.Priority
|
||||
get() = PolySymbol.Priority.LOW
|
||||
|
||||
@@ -121,8 +121,6 @@ internal class HtmlAttributeDescriptorBasedSymbol private constructor(
|
||||
|
||||
|
||||
private class HtmlAttributeValueSymbol(override val name: @NlsSafe String) : PolySymbol {
|
||||
override val origin: PolySymbolOrigin
|
||||
get() = PolySymbolOrigin.empty()
|
||||
|
||||
override val kind: PolySymbolKind
|
||||
get() = HTML_ATTRIBUTE_VALUES
|
||||
|
||||
+29
-25
@@ -1,14 +1,13 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.polySymbols.html.attributes
|
||||
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.completion.PolySymbolCodeCompletionItem
|
||||
import com.intellij.polySymbols.html.attributes.impl.HtmlAttributeEnumConstValueSymbol
|
||||
import com.intellij.polySymbols.html.attributes.impl.HtmlAttributeSymbolInfoImpl
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.polySymbols.search.PsiSourcedPolySymbol
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.completion.PolySymbolCodeCompletionItem
|
||||
import com.intellij.polySymbols.query.PolySymbolQueryExecutor
|
||||
import com.intellij.polySymbols.search.PsiSourcedPolySymbol
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import javax.swing.Icon
|
||||
|
||||
@@ -65,31 +64,36 @@ interface HtmlAttributeSymbolInfo {
|
||||
|
||||
fun withPriority(priority: PolySymbol.Priority): HtmlAttributeSymbolInfo
|
||||
|
||||
fun with(name: String = this.name,
|
||||
symbol: PolySymbol = this.symbol,
|
||||
acceptsNoValue: Boolean = this.acceptsNoValue,
|
||||
acceptsValue: Boolean = this.acceptsValue,
|
||||
enumValues: List<PolySymbolCodeCompletionItem>? = this.enumValues,
|
||||
strictEnumValues: Boolean = this.strictEnumValues,
|
||||
type: Any? = this.type,
|
||||
icon: Icon? = this.icon,
|
||||
required: Boolean = this.required,
|
||||
defaultValue: String? = this.defaultValue,
|
||||
priority: PolySymbol.Priority = this.priority): HtmlAttributeSymbolInfo
|
||||
fun with(
|
||||
name: String = this.name,
|
||||
symbol: PolySymbol = this.symbol,
|
||||
acceptsNoValue: Boolean = this.acceptsNoValue,
|
||||
acceptsValue: Boolean = this.acceptsValue,
|
||||
enumValues: List<PolySymbolCodeCompletionItem>? = this.enumValues,
|
||||
strictEnumValues: Boolean = this.strictEnumValues,
|
||||
type: Any? = this.type,
|
||||
icon: Icon? = this.icon,
|
||||
required: Boolean = this.required,
|
||||
defaultValue: String? = this.defaultValue,
|
||||
priority: PolySymbol.Priority = this.priority,
|
||||
): HtmlAttributeSymbolInfo
|
||||
|
||||
companion object {
|
||||
|
||||
@JvmStatic
|
||||
fun createEnumConstValueSymbol(origin: PolySymbolOrigin,
|
||||
matchedName: String,
|
||||
source: PsiElement?): PsiSourcedPolySymbol =
|
||||
HtmlAttributeEnumConstValueSymbol(origin, matchedName, source)
|
||||
fun createEnumConstValueSymbol(
|
||||
matchedName: String,
|
||||
source: PsiElement?,
|
||||
): PsiSourcedPolySymbol =
|
||||
HtmlAttributeEnumConstValueSymbol(matchedName, source)
|
||||
|
||||
@JvmStatic
|
||||
fun create(name: String,
|
||||
queryExecutor: PolySymbolQueryExecutor,
|
||||
symbol: PolySymbol,
|
||||
context: PsiElement): HtmlAttributeSymbolInfo =
|
||||
fun create(
|
||||
name: String,
|
||||
queryExecutor: PolySymbolQueryExecutor,
|
||||
symbol: PolySymbol,
|
||||
context: PsiElement,
|
||||
): HtmlAttributeSymbolInfo =
|
||||
HtmlAttributeSymbolInfoImpl.create(name, queryExecutor, symbol, context)
|
||||
|
||||
@JvmStatic
|
||||
@@ -104,7 +108,7 @@ interface HtmlAttributeSymbolInfo {
|
||||
icon: Icon? = null,
|
||||
required: Boolean = false,
|
||||
defaultValue: String? = null,
|
||||
priority: PolySymbol.Priority = PolySymbol.Priority.NORMAL
|
||||
priority: PolySymbol.Priority = PolySymbol.Priority.NORMAL,
|
||||
): HtmlAttributeSymbolInfo = HtmlAttributeSymbolInfoImpl(
|
||||
name, symbol, acceptsNoValue, acceptsValue, enumValues,
|
||||
strictEnumValues, type, icon, required, defaultValue, priority
|
||||
|
||||
+1
-4
@@ -3,14 +3,12 @@ package com.intellij.polySymbols.html.attributes.impl
|
||||
|
||||
import com.intellij.model.Pointer
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.html.HTML_ATTRIBUTE_VALUES
|
||||
import com.intellij.polySymbols.search.PsiSourcedPolySymbol
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.SmartPointerManager
|
||||
|
||||
internal class HtmlAttributeEnumConstValueSymbol(
|
||||
override val origin: PolySymbolOrigin,
|
||||
override val name: String,
|
||||
override val source: PsiElement?,
|
||||
) : PsiSourcedPolySymbol {
|
||||
@@ -18,13 +16,12 @@ internal class HtmlAttributeEnumConstValueSymbol(
|
||||
get() = HTML_ATTRIBUTE_VALUES
|
||||
|
||||
override fun createPointer(): Pointer<HtmlAttributeEnumConstValueSymbol> {
|
||||
val origin = this.origin
|
||||
val name = this.name
|
||||
val source = this.source?.let { SmartPointerManager.createPointer(it) }
|
||||
return Pointer<HtmlAttributeEnumConstValueSymbol> {
|
||||
val newSource = source?.dereference()
|
||||
if (newSource == null && source != null) return@Pointer null
|
||||
HtmlAttributeEnumConstValueSymbol(origin, name, newSource)
|
||||
HtmlAttributeEnumConstValueSymbol(name, newSource)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-4
@@ -8,7 +8,6 @@ import com.intellij.model.Pointer
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.polySymbols.PolySymbol
|
||||
import com.intellij.polySymbols.PolySymbolKind
|
||||
import com.intellij.polySymbols.PolySymbolOrigin
|
||||
import com.intellij.polySymbols.html.HTML_ELEMENTS
|
||||
import com.intellij.polySymbols.html.StandardHtmlSymbol
|
||||
import com.intellij.psi.PsiElement
|
||||
@@ -36,9 +35,6 @@ internal class HtmlElementDescriptorBasedSymbol(
|
||||
|
||||
override val name: String = descriptor.name
|
||||
|
||||
override val origin: PolySymbolOrigin
|
||||
get() = PolySymbolOrigin.Companion.empty()
|
||||
|
||||
override val priority: PolySymbol.Priority
|
||||
get() = PolySymbol.Priority.LOW
|
||||
|
||||
|
||||
Reference in New Issue
Block a user