Search in sources :

Example 1 with MDFile

use of com.oracle.truffle.llvm.parser.metadata.MDFile in project sulong by graalvm.

the class MDUpgrade method visit.

@Override
public void visit(MDCompileUnit md) {
    currentCU = md;
    if (md.getFile() instanceof MDString) {
        final MDFile fileRef = MDFile.create(md.getFile(), md.getDirectory());
        md.replace(md.getFile(), fileRef);
    }
    md.getSubprograms().accept(this);
    md.getGlobalVariables().accept(this);
    currentCU = null;
}
Also used : MDString(com.oracle.truffle.llvm.parser.metadata.MDString) MDFile(com.oracle.truffle.llvm.parser.metadata.MDFile)

Example 2 with MDFile

use of com.oracle.truffle.llvm.parser.metadata.MDFile in project sulong by graalvm.

the class DIScopeBuilder method asSource.

private Source asSource(MDFile mdFile) {
    if (sources.containsKey(mdFile)) {
        return sources.get(mdFile);
    }
    final Path path = getPath(mdFile);
    if (path == null) {
        sources.put(mdFile, null);
        return null;
    }
    final String mimeType = getMimeType(path.toString());
    Source source = null;
    try {
        final File file = path.toFile();
        if (file.exists() && file.canRead()) {
            source = Source.newBuilder(file).mimeType(mimeType).name(file.getName()).build();
        }
    } catch (Throwable ignored) {
    }
    sources.put(mdFile, source);
    return source;
}
Also used : Path(java.nio.file.Path) MDString(com.oracle.truffle.llvm.parser.metadata.MDString) MDLexicalBlockFile(com.oracle.truffle.llvm.parser.metadata.MDLexicalBlockFile) MDMacroFile(com.oracle.truffle.llvm.parser.metadata.MDMacroFile) File(java.io.File) MDFile(com.oracle.truffle.llvm.parser.metadata.MDFile) Source(com.oracle.truffle.api.source.Source)

Aggregations

MDFile (com.oracle.truffle.llvm.parser.metadata.MDFile)2 MDString (com.oracle.truffle.llvm.parser.metadata.MDString)2 Source (com.oracle.truffle.api.source.Source)1 MDLexicalBlockFile (com.oracle.truffle.llvm.parser.metadata.MDLexicalBlockFile)1 MDMacroFile (com.oracle.truffle.llvm.parser.metadata.MDMacroFile)1 File (java.io.File)1 Path (java.nio.file.Path)1