下面列出了怎么用com.intellij.psi.PsiCodeBlock的API类实例代码及写法,或者点击链接到github查看源代码。
public PsiElement getStatement() {
PsiElement element = this.statement.getElement();
if (element instanceof PsiStatement || element instanceof PsiCodeBlock) {
return element;
} else {
return null;
}
}
public static void translate(PsiCodeBlock block, TranslationContext ctx) {
ctx.append("{\n");
ctx.increaseIdent();
for (PsiStatement statement : block.getStatements()) {
StatementTranslator.translate(statement, ctx);
}
ctx.decreaseIdent();
ctx.print("}");
}
@Override
public boolean isHandled(@Nullable PsiElement element, @NotNull PsiClassType exceptionType, PsiElement topElement) {
if (!(topElement instanceof PsiCodeBlock)) {
final PsiMethod psiMethod = PsiTreeUtil.getParentOfType(element, PsiMethod.class);
return psiMethod != null && isExceptionHandled(psiMethod, exceptionType);
}
return false;
}
@NotNull
public static PsiCodeBlock createCodeBlockFromText(@NotNull String blockText, @NotNull PsiElement psiElement) {
final PsiElementFactory elementFactory = JavaPsiFacade.getElementFactory(psiElement.getProject());
return elementFactory.createCodeBlockFromText("{" + blockText + "}", psiElement);
}