summaryrefslogtreecommitdiff
path: root/java/openapi/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/openapi/src')
-rw-r--r--java/openapi/src/com/intellij/ide/hierarchy/call/CallReferenceProcessor.java35
-rw-r--r--java/openapi/src/com/intellij/ide/hierarchy/call/JavaCallHierarchyData.java91
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;
+ }
+}