Example usage for org.eclipse.jdt.internal.core BinaryType sourceFileName

List of usage examples for org.eclipse.jdt.internal.core BinaryType sourceFileName

Introduction

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

Prototype

public String sourceFileName(IBinaryType info) 

Source Link

Usage

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 va2s  .  c om*/
        }
    }
    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

private String getSourceFileName() {
    if (this.sourceFileName != null)
        return this.sourceFileName;

    this.sourceFileName = NO_SOURCE_FILE_NAME;
    if (this.openable.getSourceMapper() != null) {
        BinaryType type = (BinaryType) ((ClassFile) this.openable).getType();
        ClassFileReader reader = MatchLocator.classFileReader(type);
        if (reader != null) {
            String fileName = type.sourceFileName(reader);
            this.sourceFileName = fileName == null ? NO_SOURCE_FILE_NAME : fileName;
        }//from w w w  .j  a  v a  2s .  c om
    }
    return this.sourceFileName;
}