/* * Copyright 2013 Guidewire Software, Inc. */ package gw.plugin.ij.callhierarchy; import com.intellij.ide.hierarchy.HierarchyTreeStructure; import com.intellij.ide.hierarchy.call.CallHierarchyBrowser; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; import org.jetbrains.annotations.NotNull; public class GosuCallHierarchyBrowser extends CallHierarchyBrowser { public GosuCallHierarchyBrowser(@NotNull Project project, @NotNull PsiMethod method) { super(project, method); } @Override protected HierarchyTreeStructure createHierarchyTreeStructure(@NotNull String typeName, @NotNull PsiElement psiElement) { if (CALLER_TYPE.equals(typeName)) { return new GosuCallerMethodsTreeStructure(myProject, (PsiMethod) psiElement, getCurrentScopeType()); } else if (CALLEE_TYPE.equals(typeName)) { return new GosuCalleeMethodsTreeStructure(myProject, (PsiMethod) psiElement, getCurrentScopeType()); } else { return null; } } }