mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
[angular] WEB-72193 Support for inputBinding, outputBinding and twoWayBinding - improve error messages - reuse referencing Web Symbol name as the reference display name
(cherry picked from commit ad2d73618df1ca1e6e26c5d5945b1d56249667d9) IJ-CR-158672 GitOrigin-RevId: 9aa4af56283843889ae094d1bb085213d0b00409
This commit is contained in:
committed by
intellij-monorepo-bot
parent
39d4a4d067
commit
8e4f6c6bee
@@ -817,6 +817,7 @@
|
||||
- a:createPointer():com.intellij.model.Pointer
|
||||
- a:getContext():com.intellij.webSymbols.context.WebSymbolsContext
|
||||
- getFramework():java.lang.String
|
||||
- a:getKeepUnresolvedTopLevelReferences():Z
|
||||
- a:getLocation():com.intellij.psi.PsiElement
|
||||
- a:getNamesProvider():com.intellij.webSymbols.query.WebSymbolNamesProvider
|
||||
- a:getResultsCustomizer():com.intellij.webSymbols.query.WebSymbolsQueryResultsCustomizer
|
||||
@@ -838,6 +839,7 @@
|
||||
- bs:runNameMatchQuery$default(com.intellij.webSymbols.query.WebSymbolsQueryExecutor,com.intellij.webSymbols.WebSymbolQualifiedName,Z,Z,Z,java.util.List,I,java.lang.Object):java.util.List
|
||||
- bs:runNameMatchQuery$default(com.intellij.webSymbols.query.WebSymbolsQueryExecutor,java.lang.String,java.lang.String,java.lang.String,Z,Z,Z,java.util.List,I,java.lang.Object):java.util.List
|
||||
- bs:runNameMatchQuery$default(com.intellij.webSymbols.query.WebSymbolsQueryExecutor,java.util.List,Z,Z,Z,java.util.List,I,java.lang.Object):java.util.List
|
||||
- a:setKeepUnresolvedTopLevelReferences(Z):V
|
||||
- a:withNameConversionRules(java.util.List):com.intellij.webSymbols.query.WebSymbolsQueryExecutor
|
||||
*:com.intellij.webSymbols.query.WebSymbolsQueryExecutorFactory
|
||||
- com.intellij.openapi.Disposable
|
||||
|
||||
@@ -34,6 +34,8 @@ interface WebSymbolsQueryExecutor : ModificationTracker {
|
||||
|
||||
val resultsCustomizer: WebSymbolsQueryResultsCustomizer
|
||||
|
||||
var keepUnresolvedTopLevelReferences: Boolean
|
||||
|
||||
fun createPointer(): Pointer<WebSymbolsQueryExecutor>
|
||||
|
||||
fun runNameMatchQuery(namespace: SymbolNamespace,
|
||||
|
||||
@@ -40,6 +40,8 @@ class WebSymbolsQueryExecutorImpl(
|
||||
private val rootScope: List<WebSymbolsScope> = initializeCompoundScopes(rootScope)
|
||||
private var nestingLevel: Int = 0
|
||||
|
||||
override var keepUnresolvedTopLevelReferences: Boolean = false
|
||||
|
||||
override fun hashCode(): Int =
|
||||
Objects.hash(location, rootScope, context, namesProvider, resultsCustomizer)
|
||||
|
||||
@@ -161,9 +163,18 @@ class WebSymbolsQueryExecutorImpl(
|
||||
.asSequence()
|
||||
.flatMap { scope ->
|
||||
ProgressManager.checkCanceled()
|
||||
scope.getMatchingSymbols(qualifiedName, params, Stack(finalContext))
|
||||
val prev = keepUnresolvedTopLevelReferences
|
||||
keepUnresolvedTopLevelReferences = false
|
||||
try {
|
||||
scope.getMatchingSymbols(qualifiedName, params, Stack(finalContext))
|
||||
} finally {
|
||||
keepUnresolvedTopLevelReferences = prev
|
||||
}
|
||||
}
|
||||
.filter {
|
||||
keepUnresolvedTopLevelReferences
|
||||
|| it !is WebSymbolMatch || it.nameSegments.size > 1 || (it.nameSegments.isNotEmpty() && it.nameSegments[0].problem == null)
|
||||
}
|
||||
.filter { it !is WebSymbolMatch || it.nameSegments.size > 1 || (it.nameSegments.isNotEmpty() && it.nameSegments[0].problem == null) }
|
||||
.distinct()
|
||||
.toList()
|
||||
.customizeMatches(params.strictScope, qualifiedName)
|
||||
@@ -300,7 +311,13 @@ class WebSymbolsQueryExecutorImpl(
|
||||
val scopeSymbols = scope
|
||||
.takeLastUntilExclusiveScopeFor(qName.qualifiedKind)
|
||||
.flatMap {
|
||||
it.getMatchingSymbols(qName, contextQueryParams, Stack(scope))
|
||||
val prev = keepUnresolvedTopLevelReferences
|
||||
keepUnresolvedTopLevelReferences = false
|
||||
try {
|
||||
it.getMatchingSymbols(qName, contextQueryParams, Stack(scope))
|
||||
} finally {
|
||||
keepUnresolvedTopLevelReferences = prev
|
||||
}
|
||||
}
|
||||
scopeSymbols.flatMapTo(scope) {
|
||||
it.queryScope
|
||||
|
||||
@@ -52,7 +52,7 @@ class ReferencingWebSymbol private constructor(
|
||||
}.toTypedArray()
|
||||
)), false,
|
||||
WebSymbolsPatternFactory.createPatternSequence(
|
||||
WebSymbolsPatternFactory.createSymbolReferencePlaceholder(),
|
||||
WebSymbolsPatternFactory.createSymbolReferencePlaceholder(name),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ class WebSymbolHtmlAttributeValueReferenceProvider : PsiWebSymbolReferenceProvid
|
||||
?.asSingleSymbol()
|
||||
else
|
||||
queryExecutor
|
||||
.also { it.keepUnresolvedTopLevelReferences = true }
|
||||
.runNameMatchQuery(WebSymbol.HTML_ATTRIBUTE_VALUES.withName(name))
|
||||
.takeIf {
|
||||
it.isNotEmpty()
|
||||
|
||||
Reference in New Issue
Block a user