From 14682eb991f9cd08a585d6e7aabdbba0d902d4cf Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Tue, 30 Oct 2018 15:40:14 +0300 Subject: [PATCH] [groovy] get rid of GrMultiSignature#EMPTY_SIGNATURE --- .../psi/api/signatures/GrMultiSignature.java | 46 +------------------ .../signatures/GrClosureSignatureUtil.java | 5 +- 2 files changed, 5 insertions(+), 46 deletions(-) diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/api/signatures/GrMultiSignature.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/api/signatures/GrMultiSignature.java index a20c4c3ab387..e879dc0871b7 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/api/signatures/GrMultiSignature.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/api/signatures/GrMultiSignature.java @@ -1,49 +1,7 @@ -/* - * Copyright 2000-2014 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package org.jetbrains.plugins.groovy.lang.psi.api.signatures; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiType; -import org.jetbrains.annotations.NotNull; - -/** - * @author Max Medvedev - */ public interface GrMultiSignature extends GrSignature { + GrClosureSignature[] getAllSignatures(); - - GrMultiSignature EMPTY_SIGNATURE = new GrMultiSignature() { - @Override - public GrClosureSignature[] getAllSignatures() { - return GrClosureSignature.EMPTY_ARRAY; - } - - @Override - public boolean isValid() { - return true; - } - - @Override - public GrSignature curry(@NotNull PsiType[] args, int position, @NotNull PsiElement context) { - return this; - } - - @Override - public void accept(@NotNull GrSignatureVisitor visitor) { - visitor.visitMultiSignature(this); - } - }; } diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/signatures/GrClosureSignatureUtil.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/signatures/GrClosureSignatureUtil.java index 554a97d29df0..dd402318dff0 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/signatures/GrClosureSignatureUtil.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/signatures/GrClosureSignatureUtil.java @@ -278,7 +278,8 @@ public class GrClosureSignatureUtil { return ApplicabilityResult.applicable; } - static GrSignature curryImpl(GrClosureSignature original, PsiType[] args, int position, PsiElement context) { + @Nullable + static GrSignature curryImpl(@NotNull GrClosureSignature original, PsiType[] args, int position, @NotNull PsiElement context) { GrClosureParameter[] params = original.getParameters(); List newParams = new ArrayList<>(params.length); @@ -289,7 +290,7 @@ public class GrClosureSignatureUtil { position = params.length - args.length; } - if (position < 0 || position >= params.length) return GrMultiSignature.EMPTY_SIGNATURE; + if (position < 0 || position >= params.length) return null; for (int i = 0; i < params.length; i++) { if (params[i].isOptional()) {