Example usage for org.eclipse.jdt.internal.core SourceMapper mapSource

List of usage examples for org.eclipse.jdt.internal.core SourceMapper mapSource

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core SourceMapper mapSource.

Prototype

public void mapSource(NamedMember typeOrModule, char[] contents, IBinaryType info) 

Source Link

Document

Maps the given source code to the given binary type or module and its children.

Usage

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);//from  w w  w.j a  v a 2 s .c  om

        // 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: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 ww w.j  ava2s  .  c o m
    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;
    }
}