Example usage for org.eclipse.jdt.internal.core BufferManager createNullBuffer

List of usage examples for org.eclipse.jdt.internal.core BufferManager createNullBuffer

Introduction

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

Prototype

public static IBuffer createNullBuffer(IOpenable owner) 

Source Link

Usage

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;/*  w ww  .  ja v  a 2  s  .  co 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;
    }
}