List of usage examples for org.eclipse.jdt.internal.core SourceMapper findSource
public char[] findSource(IType type, String simpleSourceFileName)
null if source code cannot be found. From source file:com.codenvy.ide.ext.java.server.internal.core.ClassFile.java
License:Open Source License
/** Loads the buffer via SourceMapper, and maps it in SourceMapper */ private IBuffer mapSource(SourceMapper mapper, IBinaryType info, IClassFile bufferOwner) { char[] contents = mapper.findSource(getType(), info); if (contents != null) { // create buffer IBuffer buffer = BufferManager.createBuffer(bufferOwner); if (buffer == null) return null; BufferManager bufManager = getBufferManager(); bufManager.addBuffer(buffer);// w ww .j a v a 2s . com // set the buffer source if (buffer.getCharacters() == null) { buffer.setContents(contents); } // listen to buffer changes buffer.addBufferChangedListener(this); // do the source mapping mapper.mapSource(getOuterMostEnclosingType(), contents, info); return buffer; } else { // create buffer IBuffer buffer = BufferManager.createNullBuffer(bufferOwner); if (buffer == null) return null; BufferManager bufManager = getBufferManager(); bufManager.addBuffer(buffer); // listen to buffer changes buffer.addBufferChangedListener(this); return buffer; } }
From source file:com.codenvy.ide.ext.java.server.internal.core.search.matching.MatchLocator.java
License:Open Source License
protected void reportBinaryMemberDeclaration(IResource resource, IMember binaryMember, Binding binaryMemberBinding, IBinaryType info, int accuracy) throws CoreException { ClassFile classFile = (ClassFile) binaryMember.getClassFile(); ISourceRange range = classFile.isOpen() ? binaryMember.getNameRange() : SourceMapper.UNKNOWN_RANGE; if (range.getOffset() == -1) { BinaryType type = (BinaryType) classFile.getType(); String sourceFileName = type.sourceFileName(info); if (sourceFileName != null) { SourceMapper mapper = classFile.getSourceMapper(); if (mapper != null) { char[] contents = mapper.findSource(type, sourceFileName); if (contents != null) range = mapper.mapSource(type, contents, info, binaryMember); }/* w w w .j a v a 2s .c o m*/ } } if (resource == null) resource = this.currentPossibleMatch.resource; SearchMatch match = newDeclarationMatch(binaryMember, binaryMemberBinding, accuracy, range.getOffset(), range.getLength(), getParticipant(), resource); report(match); }
From source file:com.codenvy.ide.ext.java.server.internal.core.search.matching.PossibleMatch.java
License:Open Source License
public char[] getContents() { char[] contents = (this.source == NO_SOURCE_FILE) ? null : this.source; if (this.source == null) { if (this.openable instanceof ClassFile) { String fileName = getSourceFileName(); if (fileName == NO_SOURCE_FILE_NAME) return CharOperation.NO_CHAR; SourceMapper sourceMapper = this.openable.getSourceMapper(); if (sourceMapper != null) { IType type = ((ClassFile) this.openable).getType(); contents = sourceMapper.findSource(type, fileName); }/*from w ww . j a v a2 s.co m*/ } else { contents = this.document.getCharContents(); } this.source = (contents == null) ? NO_SOURCE_FILE : contents; } return contents; }
From source file:org.sf.feeling.decompiler.editor.ClassFileSourceMap.java
License:Open Source License
private static void mapSource(JavaDecompilerBufferManager bufferManager, ClassFile cf, SourceMapper mapper, IBinaryType info, IClassFile bufferOwner, char[] markedSrc) { char[] contents = mapper.findSource(cf.getType(), info); if (Arrays.equals(markedSrc, contents)) return;/*from www.j a va2 s .com*/ contents = markedSrc; if (contents != null) { // create buffer IBuffer buffer = BufferManager.createBuffer(bufferOwner); if (buffer == null) return; JavaDecompilerBufferManager bufManager = bufferManager; bufManager.addBuffer(buffer); // set the buffer source if (buffer.getCharacters() == null) { buffer.setContents(contents); } // listen to buffer changes // buffer.addBufferChangedListener( cf ); // do the source mapping mapper.mapSource(getOuterMostEnclosingType(cf), contents, info); return; } else { // create buffer IBuffer buffer = BufferManager.createNullBuffer(bufferOwner); if (buffer == null) return; JavaDecompilerBufferManager bufManager = bufferManager; bufManager.addBuffer(buffer); // listen to buffer changes // buffer.addBufferChangedListener( cf ); return; } }