Minor: remove warnings and refactoring
This commit is contained in:
@@ -1070,16 +1070,14 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing {
|
||||
}
|
||||
}
|
||||
|
||||
if (!paramsFound) {
|
||||
if (preferBlock) {
|
||||
literal.drop();
|
||||
parseStatements();
|
||||
expect(RBRACE, "Expecting '}'");
|
||||
literalExpression.done(BLOCK);
|
||||
myBuilder.restoreNewlinesState();
|
||||
if (!paramsFound && preferBlock) {
|
||||
literal.drop();
|
||||
parseStatements();
|
||||
expect(RBRACE, "Expecting '}'");
|
||||
literalExpression.done(BLOCK);
|
||||
myBuilder.restoreNewlinesState();
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
PsiBuilder.Marker body = mark();
|
||||
|
||||
@@ -35,7 +35,7 @@ public class KtBlockExpression extends KtExpressionImpl implements KtStatementEx
|
||||
|
||||
@Override
|
||||
public boolean shouldChangeModificationCount(PsiElement place) {
|
||||
// To prent OutOfBlockModification increase from JavaCodeBlockModificationListener
|
||||
// To prevent OutOfBlockModification increase from JavaCodeBlockModificationListener
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -71,12 +71,10 @@ class ResolveElementCache(
|
||||
|
||||
// drop whole cache after change "out of code block"
|
||||
private val fullResolveCache: CachedValue<MutableMap<KtElement, CachedFullResolve>> = CachedValuesManager.getManager(project).createCachedValue(
|
||||
object : CachedValueProvider<MutableMap<KtElement, CachedFullResolve>> {
|
||||
override fun compute(): CachedValueProvider.Result<MutableMap<KtElement, CachedFullResolve>> {
|
||||
return CachedValueProvider.Result.create(ContainerUtil.createConcurrentSoftValueMap<KtElement, CachedFullResolve>(),
|
||||
PsiModificationTracker.OUT_OF_CODE_BLOCK_MODIFICATION_COUNT,
|
||||
resolveSession.exceptionTracker)
|
||||
}
|
||||
CachedValueProvider<MutableMap<KtElement, ResolveElementCache.CachedFullResolve>> {
|
||||
CachedValueProvider.Result.create(ContainerUtil.createConcurrentSoftValueMap<KtElement, CachedFullResolve>(),
|
||||
PsiModificationTracker.OUT_OF_CODE_BLOCK_MODIFICATION_COUNT,
|
||||
resolveSession.exceptionTracker)
|
||||
},
|
||||
false)
|
||||
|
||||
@@ -93,15 +91,14 @@ class ResolveElementCache(
|
||||
}
|
||||
}
|
||||
|
||||
private val partialBodyResolveCache: CachedValue<MutableMap<KtExpression, CachedPartialResolve>> = CachedValuesManager.getManager(project).createCachedValue(
|
||||
object : CachedValueProvider<MutableMap<KtExpression, CachedPartialResolve>> {
|
||||
override fun compute(): CachedValueProvider.Result<MutableMap<KtExpression, CachedPartialResolve>> {
|
||||
return CachedValueProvider.Result.create(ContainerUtil.createConcurrentSoftValueMap<KtExpression, CachedPartialResolve>(),
|
||||
PsiModificationTracker.MODIFICATION_COUNT,
|
||||
resolveSession.exceptionTracker)
|
||||
}
|
||||
},
|
||||
false)
|
||||
private val partialBodyResolveCache: CachedValue<MutableMap<KtExpression, CachedPartialResolve>> =
|
||||
CachedValuesManager.getManager(project).createCachedValue(
|
||||
CachedValueProvider<MutableMap<KtExpression, ResolveElementCache.CachedPartialResolve>> {
|
||||
CachedValueProvider.Result.create(ContainerUtil.createConcurrentSoftValueMap<KtExpression, CachedPartialResolve>(),
|
||||
PsiModificationTracker.MODIFICATION_COUNT,
|
||||
resolveSession.exceptionTracker)
|
||||
},
|
||||
false)
|
||||
|
||||
|
||||
private fun probablyNothingCallableNames(): ProbablyNothingCallableNames {
|
||||
@@ -163,7 +160,9 @@ class ResolveElementCache(
|
||||
partialResolveMap[statement] = resolveToCache
|
||||
}
|
||||
}
|
||||
partialResolveMap[resolveElement] = resolveToCache // we use the whole declaration key in the map to obtain resolve not inside any block (e.g. default parameter values)
|
||||
|
||||
// we use the whole declaration key in the map to obtain resolve not inside any block (e.g. default parameter values)
|
||||
partialResolveMap[resolveElement] = resolveToCache
|
||||
|
||||
return bindingContext
|
||||
}
|
||||
@@ -256,7 +255,8 @@ class ResolveElementCache(
|
||||
}
|
||||
}
|
||||
|
||||
private fun performElementAdditionalResolve(resolveElement: KtElement, contextElement: KtElement, bodyResolveMode: BodyResolveMode): Pair<BindingContext, StatementFilter> {
|
||||
private fun performElementAdditionalResolve(resolveElement: KtElement, contextElement: KtElement,
|
||||
bodyResolveMode: BodyResolveMode): Pair<BindingContext, StatementFilter> {
|
||||
val file = resolveElement.getContainingKtFile()
|
||||
|
||||
var statementFilterUsed = StatementFilter.NONE
|
||||
@@ -312,7 +312,7 @@ class ResolveElementCache(
|
||||
|
||||
is KtTypeConstraint -> typeConstraintAdditionalResolve(resolveSession, resolveElement)
|
||||
|
||||
is KtCodeFragment -> codeFragmentAdditionalResolve(resolveSession, resolveElement, bodyResolveMode)
|
||||
is KtCodeFragment -> codeFragmentAdditionalResolve(resolveElement, bodyResolveMode)
|
||||
|
||||
else -> {
|
||||
if (resolveElement.getParentOfType<KtPackageDirective>(true) != null) {
|
||||
@@ -360,7 +360,7 @@ class ResolveElementCache(
|
||||
return resolveSession.trace
|
||||
}
|
||||
|
||||
private fun codeFragmentAdditionalResolve(resolveSession: ResolveSession, codeFragment: KtCodeFragment, bodyResolveMode: BodyResolveMode): BindingTrace {
|
||||
private fun codeFragmentAdditionalResolve(codeFragment: KtCodeFragment, bodyResolveMode: BodyResolveMode): BindingTrace {
|
||||
val trace = createDelegatingTrace(codeFragment)
|
||||
|
||||
val contextResolveMode = if (bodyResolveMode == BodyResolveMode.PARTIAL)
|
||||
@@ -418,7 +418,8 @@ class ResolveElementCache(
|
||||
return resolveSession.trace
|
||||
}
|
||||
|
||||
private fun delegationSpecifierAdditionalResolve(resolveSession: ResolveSession, ktElement: KtElement, classOrObject: KtClassOrObject, file: KtFile): BindingTrace {
|
||||
private fun delegationSpecifierAdditionalResolve(resolveSession: ResolveSession, ktElement: KtElement,
|
||||
classOrObject: KtClassOrObject, file: KtFile): BindingTrace {
|
||||
val trace = createDelegatingTrace(ktElement)
|
||||
val descriptor = resolveSession.resolveToDescriptor(classOrObject) as LazyClassDescriptor
|
||||
|
||||
@@ -436,7 +437,8 @@ class ResolveElementCache(
|
||||
return trace
|
||||
}
|
||||
|
||||
private fun propertyAdditionalResolve(resolveSession: ResolveSession, property: KtProperty, file: KtFile, statementFilter: StatementFilter): BindingTrace {
|
||||
private fun propertyAdditionalResolve(resolveSession: ResolveSession, property: KtProperty,
|
||||
file: KtFile, statementFilter: StatementFilter): BindingTrace {
|
||||
val trace = createDelegatingTrace(property)
|
||||
|
||||
val bodyResolver = createBodyResolver(resolveSession, trace, file, statementFilter)
|
||||
@@ -461,7 +463,8 @@ class ResolveElementCache(
|
||||
return trace
|
||||
}
|
||||
|
||||
private fun functionAdditionalResolve(resolveSession: ResolveSession, namedFunction: KtNamedFunction, file: KtFile, statementFilter: StatementFilter): BindingTrace {
|
||||
private fun functionAdditionalResolve(resolveSession: ResolveSession, namedFunction: KtNamedFunction, file: KtFile,
|
||||
statementFilter: StatementFilter): BindingTrace {
|
||||
val trace = createDelegatingTrace(namedFunction)
|
||||
|
||||
val scope = resolveSession.declarationScopeProvider.getResolutionScopeForDeclaration(namedFunction)
|
||||
@@ -476,7 +479,8 @@ class ResolveElementCache(
|
||||
return trace
|
||||
}
|
||||
|
||||
private fun secondaryConstructorAdditionalResolve(resolveSession: ResolveSession, constructor: KtSecondaryConstructor, file: KtFile, statementFilter: StatementFilter): BindingTrace {
|
||||
private fun secondaryConstructorAdditionalResolve(resolveSession: ResolveSession, constructor: KtSecondaryConstructor,
|
||||
file: KtFile, statementFilter: StatementFilter): BindingTrace {
|
||||
val trace = createDelegatingTrace(constructor)
|
||||
|
||||
val scope = resolveSession.declarationScopeProvider.getResolutionScopeForDeclaration(constructor)
|
||||
@@ -497,7 +501,8 @@ class ResolveElementCache(
|
||||
|
||||
val classDescriptor = resolveSession.resolveToDescriptor(klass) as ClassDescriptor
|
||||
val constructorDescriptor = classDescriptor.unsubstitutedPrimaryConstructor
|
||||
?: error("Can't get primary constructor for descriptor '$classDescriptor' in from class '${klass.getElementTextWithContext()}'")
|
||||
?: error("Can't get primary constructor for descriptor '$classDescriptor' " +
|
||||
"in from class '${klass.getElementTextWithContext()}'")
|
||||
|
||||
val bodyResolver = createBodyResolver(resolveSession, trace, file, StatementFilter.NONE)
|
||||
bodyResolver.resolveConstructorParameterDefaultValuesAndAnnotations(DataFlowInfo.EMPTY, trace, klass, constructorDescriptor, scope)
|
||||
@@ -513,7 +518,8 @@ class ResolveElementCache(
|
||||
return trace
|
||||
}
|
||||
|
||||
private fun initializerAdditionalResolve(resolveSession: ResolveSession, anonymousInitializer: KtAnonymousInitializer, file: KtFile, statementFilter: StatementFilter): BindingTrace {
|
||||
private fun initializerAdditionalResolve(resolveSession: ResolveSession, anonymousInitializer: KtAnonymousInitializer,
|
||||
file: KtFile, statementFilter: StatementFilter): BindingTrace {
|
||||
val trace = createDelegatingTrace(anonymousInitializer)
|
||||
|
||||
val classOrObjectDescriptor = resolveSession.resolveToDescriptor(anonymousInitializer.containingDeclaration) as LazyClassDescriptor
|
||||
|
||||
+9
-10
@@ -19,14 +19,13 @@ package org.jetbrains.kotlin.idea.references
|
||||
import com.intellij.psi.PsiReference
|
||||
import com.intellij.psi.PsiReferenceRegistrar
|
||||
import org.jetbrains.kotlin.idea.kdoc.KDocReference
|
||||
import org.jetbrains.kotlin.kdoc.psi.impl.KDocName
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
|
||||
|
||||
class KotlinReferenceContributor() : AbstractKotlinReferenceContributor() {
|
||||
override fun registerReferenceProviders(registrar: PsiReferenceRegistrar) {
|
||||
with(registrar) {
|
||||
registerProvider<KtSimpleNameExpression>(factory = ::KtSimpleNameReference)
|
||||
registerProvider(factory = ::KtSimpleNameReference)
|
||||
|
||||
registerMultiProvider<KtNameReferenceExpression> {
|
||||
if (it.getReferencedNameElementType() != KtTokens.IDENTIFIER) return@registerMultiProvider emptyArray()
|
||||
@@ -41,19 +40,19 @@ class KotlinReferenceContributor() : AbstractKotlinReferenceContributor() {
|
||||
}
|
||||
}
|
||||
|
||||
registerProvider<KtConstructorDelegationReferenceExpression>(factory = ::KtConstructorDelegationReference)
|
||||
registerProvider(factory = ::KtConstructorDelegationReference)
|
||||
|
||||
registerProvider<KtCallExpression>(factory = ::KtInvokeFunctionReference)
|
||||
registerProvider(factory = ::KtInvokeFunctionReference)
|
||||
|
||||
registerProvider<KtArrayAccessExpression>(factory = ::KtArrayAccessReference)
|
||||
registerProvider(factory = ::KtArrayAccessReference)
|
||||
|
||||
registerProvider<KtForExpression>(factory = ::KtForLoopInReference)
|
||||
registerProvider(factory = ::KtForLoopInReference)
|
||||
|
||||
registerProvider<KtPropertyDelegate>(factory = ::KtPropertyDelegationMethodsReference)
|
||||
registerProvider(factory = ::KtPropertyDelegationMethodsReference)
|
||||
|
||||
registerProvider<KtDestructuringDeclarationEntry>(factory = ::KtDestructuringDeclarationReference)
|
||||
registerProvider(factory = ::KtDestructuringDeclarationReference)
|
||||
|
||||
registerProvider<KDocName>(factory = ::KDocReference)
|
||||
registerProvider(factory = ::KDocReference)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user