类com.intellij.psi.PsiCodeFragment源码实例Demo

下面列出了怎么用com.intellij.psi.PsiCodeFragment的API类实例代码及写法,或者点击链接到github查看源代码。


@Override
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
  myCodeFragment = (PsiCodeFragment)value;

  myDocument = PsiDocumentManager.getInstance(myProject).getDocument(myCodeFragment);
  myEditorTextField = createEditorField(myDocument);
  if (myEditorTextField != null) {
    for (DocumentListener listener : myListeners) {
      myEditorTextField.addDocumentListener(listener);
    }
    myEditorTextField.setDocument(myDocument);
    myEditorTextField.setBorder(new LineBorder(table.getSelectionBackground()));
  }

  return myEditorTextField;
}
 

@Nonnull
@Override
@RequiredReadAction
public PsiElementVisitor buildVisitor(@Nonnull ProblemsHolder holder, boolean isOnTheFly, @Nonnull LocalInspectionToolSession session)
{
	PsiFile file = holder.getFile();
	if(!(file instanceof CSharpFile))
	{
		return PsiElementVisitor.EMPTY_VISITOR;
	}

	if(file instanceof PsiCodeFragment)
	{
		return PsiElementVisitor.EMPTY_VISITOR;
	}

	DotNetSimpleModuleExtension extension = ModuleUtilCore.getExtension(file, DotNetSimpleModuleExtension.class);
	if(extension == null)
	{
		return PsiElementVisitor.EMPTY_VISITOR;
	}

	MatchNamespaceVisitor visitor = session.getUserData(KEY);
	if(visitor == null)
	{
		session.putUserData(KEY, visitor = new MatchNamespaceVisitor(holder, extension));
	}
	return visitor;
}
 

@Override
public boolean shouldHighlight(@Nonnull PsiFile psiFile)
{
	if(psiFile instanceof CSharpFile)
	{
		if(psiFile instanceof PsiCodeFragment)
		{
			return true;
		}
		return CSharpLocationUtil.isValidLocation(psiFile.getProject(), psiFile.getVirtualFile());
	}
	return true;
}
 

@Override
protected CSharpParameterTableModelItem createRowItem(@Nullable CSharpParameterInfo parameterInfo)
{
	Project project = myMethodDescriptor.getMethod().getProject();

	if(parameterInfo == null)
	{
		parameterInfo = new CSharpParameterInfo("", null, new CSharpTypeRefByQName(myDefaultValueContext, DotNetTypes.System.Object), getRowCount());
	}
	PsiCodeFragment fragment = CSharpFragmentFactory.createTypeFragment(project, parameterInfo.getTypeText(), myDefaultValueContext);

	PsiCodeFragment defaultValue = CSharpFragmentFactory.createExpressionFragment(project, "", myDefaultValueContext);
	return new CSharpParameterTableModelItem(parameterInfo, fragment, defaultValue);
}
 

@Override
@RequiredUIAccess
protected PsiCodeFragment createReturnTypeCodeFragment()
{
	String text = CSharpTypeRefPresentationUtil.buildShortText(myMethod.getMethod().getReturnTypeRef(), myDefaultValueContext);
	CSharpFragmentFileImpl typeFragment = CSharpFragmentFactory.createTypeFragment(getProject(), text, myDefaultValueContext);
	typeFragment.putUserData(CS1547.ourReturnTypeFlag, Boolean.TRUE);
	return typeFragment;
}
 
源代码6 项目: consulo   文件: ProjectRootsUtil.java

public static boolean isOutsideSourceRoot(@Nullable PsiFile psiFile) {
  if (psiFile == null) return false;
  if (psiFile instanceof PsiCodeFragment) return false;
  final VirtualFile file = psiFile.getVirtualFile();
  if (file == null) return false;
  final ProjectFileIndex projectFileIndex = ProjectRootManager.getInstance(psiFile.getProject()).getFileIndex();
  return !projectFileIndex.isInSource(file) && !projectFileIndex.isInLibraryClasses(file);
}
 

@Nullable
@Override
protected PsiCodeFragment createReturnTypeCodeFragment() {
  return null;
}
 

public CSharpParameterTableModelItem(CSharpParameterInfo parameter, PsiCodeFragment typeCodeFragment, PsiCodeFragment defaultValueCodeFragment)
{
	super(parameter, typeCodeFragment, defaultValueCodeFragment);
}
 
源代码9 项目: consulo   文件: ParameterTableModelBase.java

@Override
public PsiCodeFragment valueOf(TableItem item) {
  return item.typeCodeFragment;
}
 
源代码10 项目: consulo   文件: ParameterTableModelBase.java

@Override
public PsiCodeFragment valueOf(TableItem item) {
  return item.defaultValueCodeFragment;
}
 

public ParameterTableModelItemBase(P parameter, PsiCodeFragment typeCodeFragment, PsiCodeFragment defaultValueCodeFragment) {
  this.parameter = parameter;
  this.typeCodeFragment = typeCodeFragment;
  this.defaultValueCodeFragment = defaultValueCodeFragment;
}
 

@Override
public PsiCodeFragment getCellEditorValue() {
  return myCodeFragment;
}
 
源代码13 项目: consulo   文件: ChangeSignatureDialogBase.java

protected abstract PsiCodeFragment createReturnTypeCodeFragment(); 
 类所在包
 同包方法