com.intellij.psi.PsiFile#navigate ( )源码实例Demo

下面列出了com.intellij.psi.PsiFile#navigate ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: consulo   文件: PsiViewerDialog.java
private void navigate() {
  final Object value = myRefs.getSelectedValue();
  if (value instanceof String) {
    final String fqn = (String)value;
    final PsiFile file = getContainingFileForClass(fqn);
    if (file != null) file.navigate(true);
  }
}
 
源代码2 项目: consulo   文件: StructureViewCompositeModel.java
@Nonnull
private static StructureViewTreeElement createRootNode(@Nonnull PsiFile file, @Nonnull List<? extends StructureViewComposite.StructureViewDescriptor> views) {
  JBIterable<TreeElement> children = JBIterable.from(views).map(o -> createTreeElementFromView(file, o));
  return new StructureViewTreeElement() {
    @Override
    public Object getValue() {
      return file;
    }

    @Override
    public void navigate(boolean requestFocus) {
      file.navigate(requestFocus);
    }

    @Override
    public boolean canNavigate() {
      return file.canNavigate();
    }

    @Override
    public boolean canNavigateToSource() {
      return file.canNavigateToSource();
    }

    @Nonnull
    @Override
    public ItemPresentation getPresentation() {
      return file.getPresentation();
    }

    @Nonnull
    @Override
    public TreeElement[] getChildren() {
      List<TreeElement> elements = children.toList();
      return elements.toArray(TreeElement.EMPTY_ARRAY);
    }
  };
}
 
源代码3 项目: reasonml-idea-plugin   文件: PsiFakeModule.java
@Override
public void navigate(boolean requestFocus) {
    PsiFile file = getContainingFile();
    file.navigate(requestFocus);
}
 
源代码4 项目: consulo-csharp   文件: MsilElementWrapper.java
@Override
@RequiredUIAccess
public void navigate(boolean requestFocus)
{
	final Class<? extends PsiElement> navigationElementClass = getNavigationElementClass();

	Consumer<PsiFile> consumer = navigationElementClass == null ? MsilRepresentationNavigateUtil.DEFAULT_NAVIGATOR : new Consumer<PsiFile>()
	{
		@Override
		public void consume(PsiFile file)
		{
			final Ref<Navigatable> navigatableRef = Ref.create();
			file.accept(new PsiRecursiveElementWalkingVisitor()
			{
				@Override
				@RequiredReadAction
				public void visitElement(PsiElement element)
				{
					MsilElementWrapper<T> msilWrapper = MsilElementWrapper.this;
					if(navigationElementClass.isAssignableFrom(element.getClass()) && isEquivalentTo(element, msilWrapper))
					{
						PsiElement elementParent = element.getParent();
						PsiElement wrapperParent = msilWrapper.getParent();
						// check if parent type is equal to self type
						if(elementParent instanceof CSharpTypeDeclaration && wrapperParent instanceof CSharpTypeDeclaration)
						{
							if(!CSharpElementCompareUtil.isEqual(elementParent, wrapperParent, myOriginal))
							{
								return;
							}
						}
						navigatableRef.set((Navigatable) element);
						stopWalking();
						return;
					}
					super.visitElement(element);
				}
			});

			Navigatable navigatable = navigatableRef.get();
			if(navigatable != null)
			{
				navigatable.navigate(true);
			}

			file.navigate(true);
		}
	};

	MsilRepresentationNavigateUtil.navigateToRepresentation(myOriginal, CSharpFileType.INSTANCE, consumer);
}
 
源代码5 项目: consulo   文件: StructureViewCompositeModel.java
@Nonnull
private static TreeElement createTreeElementFromView(final PsiFile file, final StructureViewComposite.StructureViewDescriptor view) {
  return new StructureViewTreeElement() {
    @Override
    public Object getValue() {
      return view;
    }

    @Override
    public void navigate(boolean requestFocus) {
      file.navigate(requestFocus);
    }

    @Override
    public boolean canNavigate() {
      return file.canNavigate();
    }

    @Override
    public boolean canNavigateToSource() {
      return file.canNavigateToSource();
    }

    @Nonnull
    @Override
    public ItemPresentation getPresentation() {
      return new ItemPresentation() {
        @Nullable
        @Override
        public String getPresentableText() {
          return view.title;
        }

        @Nullable
        @Override
        public String getLocationString() {
          return null;
        }

        @Nullable
        @Override
        public Image getIcon(boolean unused) {
          return view.icon;
        }
      };
    }

    @Nonnull
    @Override
    public TreeElement[] getChildren() {
      return view.structureModel.getRoot().getChildren();
    }
  };
}