本文整理汇总了Java中com.intellij.codeInsight.folding.impl.GenericElementSignatureProvider类的典型用法代码示例。如果您正苦于以下问题:Java GenericElementSignatureProvider类的具体用法?Java GenericElementSignatureProvider怎么用?Java GenericElementSignatureProvider使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
GenericElementSignatureProvider类属于com.intellij.codeInsight.folding.impl包,在下文中一共展示了GenericElementSignatureProvider类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: serializeMe
import com.intellij.codeInsight.folding.impl.GenericElementSignatureProvider; //导入依赖的package包/类
@Override
public void serializeMe(UsageInfo info, StringBuilder os) throws IOException {
//final SmartPsiElementPointer<?> pointer = info.getSmartPointer();
final GenericElementSignatureProvider provider = new GenericElementSignatureProvider();
final String signature = provider.getSignature(info.getElement());
append(os, info.getFile().getVirtualFile().getPath());
os.append(separator);
append(os, signature);
os.append(separator);
final ProperTextRange rangeInElement = info.getRangeInElement();
if (rangeInElement == null) {
append(os, "-1");
os.append(separator);
append(os, "-1");
os.append(separator);
}
else {
append(os, String.valueOf(rangeInElement.getStartOffset()));
os.append(separator);
append(os, String.valueOf(rangeInElement.getEndOffset()));
os.append(separator);
}
append(os, String.valueOf(info.isNonCodeUsage()));
os.append(separator);
append(os, String.valueOf(info.isDynamicUsage()));
os.append(separator);
final String text = new UsageInfo2UsageAdapter(info).getPlainText();
append(os, text);
os.append(separator);
}
示例2: execute
import com.intellij.codeInsight.folding.impl.GenericElementSignatureProvider; //导入依赖的package包/类
public UsageInfo execute(final Project project) {
final GenericElementSignatureProvider provider = new GenericElementSignatureProvider();
final String path = readNext(false);
if (path == null) return null;
final VirtualFile file = LocalFileSystem.getInstance().findFileByIoFile(new File(path));
if (file == null) return null;
PsiFile psiFile = PsiManager.getInstance(project).findFile(file);
if (psiFile == null) return null;
final String signature = readNext(false);
final PsiElement element = provider.restoreBySignature(psiFile, signature, new StringBuilder());
if (element == null) return null;
final String startStr = readNext(false);
if (startStr == null) return null;
final int start = Integer.parseInt(startStr);
final String endStr = readNext(false);
if (endStr == null) return null;
final int end = Integer.parseInt(endStr);
final String nonCodeUsageStr = readNext(false);
if (nonCodeUsageStr == null) return null;
final boolean nonCodeUsage = Boolean.parseBoolean(nonCodeUsageStr);
final String dynamicUsageStr = readNext(false);
if (dynamicUsageStr == null) return null;
final boolean dynamicUsage = Boolean.parseBoolean(dynamicUsageStr);
final String text = readNext(true);
if (text == null) return null;
final UsageInfo info = new UsageInfo(element, start, end, nonCodeUsage);
info.setDynamicUsage(dynamicUsage);
return info;
/*final String newText = new UsageInfo2UsageAdapter(info).getPlainText();
if (! Comparing.equal(newText, text)) {
LOG.info("Usage not restored, oldText:\n'" + text + "'\nnew text: '\n" + newText + "'");
return null;
}*/
}
示例3: serializeMe
import com.intellij.codeInsight.folding.impl.GenericElementSignatureProvider; //导入依赖的package包/类
@Override
public void serializeMe(UsageInfo info, StringBuilder os) throws IOException {
//final SmartPsiElementPointer<?> pointer = info.getSmartPointer();
final GenericElementSignatureProvider provider = new GenericElementSignatureProvider();
final String signature = provider.getSignature(info.getElement());
append(os, info.getElement().getContainingFile().getVirtualFile().getPath());
os.append(separator);
append(os, signature);
os.append(separator);
final ProperTextRange rangeInElement = info.getRangeInElement();
if (rangeInElement == null) {
append(os, "-1");
os.append(separator);
append(os, "-1");
os.append(separator);
}
else {
append(os, String.valueOf(rangeInElement.getStartOffset()));
os.append(separator);
append(os, String.valueOf(rangeInElement.getEndOffset()));
os.append(separator);
}
append(os, String.valueOf(info.isNonCodeUsage()));
os.append(separator);
append(os, String.valueOf(info.isDynamicUsage()));
os.append(separator);
final String text = new UsageInfo2UsageAdapter(info).getPlainText();
append(os, text);
os.append(separator);
}