本文整理汇总了Java中org.eclipse.jdt.core.ICompilationUnit.getBuffer方法的典型用法代码示例。如果您正苦于以下问题:Java ICompilationUnit.getBuffer方法的具体用法?Java ICompilationUnit.getBuffer怎么用?Java ICompilationUnit.getBuffer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.jdt.core.ICompilationUnit
的用法示例。
在下文中一共展示了ICompilationUnit.getBuffer方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: moveBack
import org.eclipse.jdt.core.ICompilationUnit; //导入方法依赖的package包/类
private static int moveBack(int offset, int start, String ignoreCharacters, ICompilationUnit cu) {
try {
IBuffer buf = cu.getBuffer();
while (offset >= start) {
if (ignoreCharacters.indexOf(buf.getChar(offset - 1)) == -1) {
return offset;
}
offset--;
}
} catch (JavaModelException e) {
// use start
}
return start;
}
示例2: analyzeCompilationUnit
import org.eclipse.jdt.core.ICompilationUnit; //导入方法依赖的package包/类
private void analyzeCompilationUnit(CompilationUnit unit, ICompilationUnit compilationUnit) throws IOException {
IBuffer buffer = null;
try {
buffer = compilationUnit.getBuffer();
}
catch (JavaModelException e) {
e.printStackTrace();
}
if (buffer == null) {
return;
}
LocationVariableVisitor visitor = new LocationVariableVisitor();
unit.accept(visitor);
List types = unit.types();
for (Iterator iter = types.iterator(); iter.hasNext();) {
Object next = iter.next();
if (next instanceof TypeDeclaration) {
// declaration: Contains one file content at a time.
TypeDeclaration declaration = (TypeDeclaration) next;
traverseType(declaration);
}
}
}
示例3: computeContentAssist
import org.eclipse.jdt.core.ICompilationUnit; //导入方法依赖的package包/类
private List<CompletionItem> computeContentAssist(ICompilationUnit unit, int line, int column, IProgressMonitor monitor) throws JavaModelException {
CompletionResponses.clear();
if (unit == null) {
return Collections.emptyList();
}
List<CompletionItem> proposals = new ArrayList<>();
final int offset = JsonRpcHelpers.toOffset(unit.getBuffer(), line, column);
CompletionProposalRequestor collector = new CompletionProposalRequestor(unit, offset);
// Allow completions for unresolved types - since 3.3
collector.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.TYPE_REF, true);
collector.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.TYPE_IMPORT, true);
collector.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.FIELD_IMPORT, true);
collector.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.TYPE_REF, true);
collector.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.TYPE_IMPORT, true);
collector.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.METHOD_IMPORT, true);
collector.setAllowsRequiredProposals(CompletionProposal.CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true);
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true);
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_DECLARATION, CompletionProposal.TYPE_REF, true);
collector.setAllowsRequiredProposals(CompletionProposal.TYPE_REF, CompletionProposal.TYPE_REF, true);
if (offset >-1 && !monitor.isCanceled()) {
IBuffer buffer = unit.getBuffer();
if (buffer != null && buffer.getLength() >= offset) {
IProgressMonitor subMonitor = new ProgressMonitorWrapper(monitor) {
private long timeLimit;
private static final long TIMEOUT = 5000;
@Override
public void beginTask(String name, int totalWork) {
timeLimit = System.currentTimeMillis() + TIMEOUT;
}
@Override
public boolean isCanceled() {
return super.isCanceled() || timeLimit <= System.currentTimeMillis();
}
};
try {
unit.codeComplete(offset, collector, subMonitor);
proposals.addAll(collector.getCompletionItems());
} catch (OperationCanceledException e) {
monitor.setCanceled(true);
}
}
}
return proposals;
}