diff options
Diffstat (limited to 'java/openapi/src')
-rw-r--r-- | java/openapi/src/com/intellij/ide/hierarchy/call/CallReferenceProcessor.java | 35 | ||||
-rw-r--r-- | java/openapi/src/com/intellij/ide/hierarchy/call/JavaCallHierarchyData.java | 91 |
2 files changed, 126 insertions, 0 deletions
diff --git a/java/openapi/src/com/intellij/ide/hierarchy/call/CallReferenceProcessor.java b/java/openapi/src/com/intellij/ide/hierarchy/call/CallReferenceProcessor.java new file mode 100644 index 000000000000..5c2585f1ede0 --- /dev/null +++ b/java/openapi/src/com/intellij/ide/hierarchy/call/CallReferenceProcessor.java @@ -0,0 +1,35 @@ +/* + * Copyright 2000-2013 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. + */ +package com.intellij.ide.hierarchy.call; + +import com.intellij.openapi.extensions.ExtensionPointName; +import com.intellij.psi.PsiReference; +import org.jetbrains.annotations.NotNull; + +/** + * Created by Max Medvedev on 10/5/13 + */ +public interface CallReferenceProcessor { + ExtensionPointName<CallReferenceProcessor> EP_NAME = ExtensionPointName.create("com.intellij.hierarchy.referenceProcessor"); + + /** + * + * @param reference reference to process + * @param data settings to use while processing + * @return false if the reference is processed + */ + boolean process(@NotNull PsiReference reference, @NotNull JavaCallHierarchyData data); +} diff --git a/java/openapi/src/com/intellij/ide/hierarchy/call/JavaCallHierarchyData.java b/java/openapi/src/com/intellij/ide/hierarchy/call/JavaCallHierarchyData.java new file mode 100644 index 000000000000..e2b5a7a6e2d9 --- /dev/null +++ b/java/openapi/src/com/intellij/ide/hierarchy/call/JavaCallHierarchyData.java @@ -0,0 +1,91 @@ +/* + * Copyright 2000-2013 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. + */ +package com.intellij.ide.hierarchy.call; + +import com.intellij.ide.util.treeView.NodeDescriptor; +import com.intellij.openapi.project.Project; +import com.intellij.psi.PsiClass; +import com.intellij.psi.PsiClassType; +import com.intellij.psi.PsiMember; +import com.intellij.psi.PsiMethod; + +import java.util.Map; +import java.util.Set; + +/** + * Created by Max Medvedev on 10/5/13 + */ +public class JavaCallHierarchyData { + private final PsiClass myOriginalClass; + private final PsiMethod myMethodToFind; + private final PsiClassType myOriginalType; + private final PsiMethod myMethod; + private final Set<PsiMethod> myMethodsToFind; + private final NodeDescriptor myNodeDescriptor; + private final Map<PsiMember, NodeDescriptor> myResultMap; + private final Project myProject; + + public JavaCallHierarchyData(PsiClass originalClass, + PsiMethod methodToFind, + PsiClassType originalType, + PsiMethod method, + Set<PsiMethod> methodsToFind, + NodeDescriptor nodeDescriptor, + Map<PsiMember, NodeDescriptor> resultMap, + Project project) { + + myOriginalClass = originalClass; + myMethodToFind = methodToFind; + myOriginalType = originalType; + myMethod = method; + myMethodsToFind = methodsToFind; + myNodeDescriptor = nodeDescriptor; + myResultMap = resultMap; + myProject = project; + } + + public PsiClass getOriginalClass() { + return myOriginalClass; + } + + public PsiMethod getMethodToFind() { + return myMethodToFind; + } + + public PsiClassType getOriginalType() { + return myOriginalType; + } + + public PsiMethod getMethod() { + return myMethod; + } + + public Set<PsiMethod> getMethodsToFind() { + return myMethodsToFind; + } + + public NodeDescriptor getNodeDescriptor() { + return myNodeDescriptor; + } + + public Map<PsiMember, NodeDescriptor> getResultMap() { + return myResultMap; + } + + public Project getProject() { + return myProject; + } +} |