List of usage examples for org.eclipse.jdt.internal.core Openable getBuffer
@Override public IBuffer getBuffer() throws JavaModelException
From source file:org.eclipse.ajdt.internal.core.contentassist.ContentAssistProvider.java
License:Open Source License
public boolean doContentAssist(ICompilationUnit cu, ICompilationUnit unitToSkip, int position, CompletionRequestor requestor, WorkingCopyOwner owner, /* AJDT 1.7 */ ITypeRoot typeRoot, Openable target, IProgressMonitor monitor) throws Exception { JavaProject project = (JavaProject) target.getJavaProject(); if (!AspectJPlugin.isAJProject(project.getProject())) { return false; }// ww w . j av a2 s.c om if (target instanceof AJCompilationUnit) { // already handled by the compilation unit return false; } if (!(target instanceof CompilationUnit)) { return false; } IBuffer buffer = target.getBuffer(); if (buffer == null) { return false; } if (requestor == null) { throw new IllegalArgumentException("Completion requestor cannot be null"); //$NON-NLS-1$ } MockCompilationUnit mcu = new MockCompilationUnit((CompilationUnit) target); ProposalRequestorWrapper wrapped = new ProposalRequestorWrapper(requestor, mcu, mcu.insertionTable); int transformedPos = mcu.translatePositionToFake(position); if (transformedPos < -1 || transformedPos > mcu.getContents().length) { throw new JavaModelException(new JavaModelStatus(IJavaModelStatusConstants.INDEX_OUT_OF_BOUNDS)); } /* AJDT 1.7 */ ITDAwareNameEnvironment environment = new ITDAwareNameEnvironment(project, owner, monitor); environment.setUnitToSkip(unitToSkip); // code complete /* AJDT 1.7 */ CompletionEngine engine = new CompletionEngine(environment, wrapped, project.getOptions(true), project, owner, monitor); engine.lookupEnvironment = new ITDAwareLookupEnvironment(engine.lookupEnvironment, environment); engine.complete(mcu, transformedPos, 0, typeRoot); return true; }