当前位置: 首页>>代码示例>>Java>>正文


Java Source类代码示例

本文整理汇总了Java中org.netbeans.modules.parsing.api.Source的典型用法代码示例。如果您正苦于以下问题:Java Source类的具体用法?Java Source怎么用?Java Source使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Source类属于org.netbeans.modules.parsing.api包,在下文中一共展示了Source类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: shouldCall

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
private static boolean shouldCall (
    @NonNull final Source source,
    @NullAllowed final SchedulerTask task,
    final boolean checkScan) {
    final boolean sourceInvalid = SourceAccessor.getINSTANCE().testFlag(
        source,
        SourceFlags.INVALID);
    boolean scanAffinity = true;
    if (checkScan) {
        final boolean scanInProgress = getIndexerBridge().isIndexing();
        final boolean canRunDuringScan = (task instanceof IndexingAwareParserResultTask)
            && ((IndexingAwareParserResultTask)task).getIndexingMode() == TaskIndexingMode.ALLOWED_DURING_SCAN;
        final boolean compatMode = "true".equals(System.getProperty(COMPAT_MODE));  //NOI18N
        scanAffinity = !scanInProgress || canRunDuringScan || compatMode;
    }
    final boolean taskCancelled = currentRequest.isCancelled(task);
    return !sourceInvalid && scanAffinity && !taskCancelled;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:19,代码来源:TaskProcessor.java

示例2: performEmbeddingTest

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
private void performEmbeddingTest(String code, String... golden) throws Exception {
    prepareTest(code, -1);

    Source s = Source.create(doc);
    final List<String> output = new LinkedList<String>();

    ParserManager.parse(Collections.singletonList(s), new UserTask() {
        @Override
        public void run(ResultIterator resultIterator) throws Exception {
            for (Embedding e : new EmbeddingProviderImpl().getEmbeddings(resultIterator.getSnapshot())) {
                output.add(e.getSnapshot().getText().toString());
            }
        }
    });

    Iterator<String> goldenIt = Arrays.asList(golden).iterator();
    Iterator<String> outputIt = output.iterator();

    while (goldenIt.hasNext() && outputIt.hasNext()) {
        assertEquals(goldenIt.next().replaceAll("[ \t\n]+", " "), outputIt.next().replaceAll("[ \t\n]+", " "));
    }

    assertEquals(output.toString(), goldenIt.hasNext(), outputIt.hasNext());
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:25,代码来源:EmbeddingProviderImplTest.java

示例3: createContent

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
@Override
@NonNull
protected final CharSequence createContent() throws IOException {
    final FileObject file = getHandle().resolveFileObject(false);
    if (file == null) {
        throw new FileNotFoundException("Cannot open file: " + toString());
    }
    final Source source = Source.create(file);
    if (source == null) {
        throw new IOException("No source for: " + FileUtil.getFileDisplayName(file));   //NOI18N
    }
    CharSequence content = source.createSnapshot().getText();
    if (hasFilter && source.getDocument(false) == null) {
        content = filter(content);
    }
    return content;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:18,代码来源:BasicSourceFileObject.java

示例4: setEditor

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
protected void setEditor (JTextComponent editor) {
    if (currentEditor != null)
        currentEditor.removeCaretListener (caretListener);
    currentEditor = editor;
    if (editor != null) {
        if (caretListener == null)
            caretListener = new ACaretListener ();
        editor.addCaretListener (caretListener);
        Document document = editor.getDocument ();
        if (currentDocument == document) return;
        currentDocument = document;
        final Source source = Source.create (currentDocument);
        schedule (source, new CursorMovedSchedulerEvent (this, editor.getCaret ().getDot (), editor.getCaret ().getMark ()) {});
    }
    else {
        currentDocument = null;
        schedule(null, null);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:20,代码来源:CursorSensitiveScheduler.java

示例5: create

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
/**
 * Create a names translator.
 * @param smt translator handling the source maps.
 * @param fileObject the generated source file
 * @param lineNumber line number of the position at which we translate the names
 * @param columnNumber column number of the position at which we translate the names
 * @return an instance of names translator, or <code>null</code> when the corresponding source can not be loaded.
 */
public static NamesTranslator create(SourceMapsTranslator smt, FileObject fileObject,
                                     int lineNumber, int columnNumber) {
    if (!USE_SOURCE_MAPS) {
        return null;
    }
    Source source = Source.create(fileObject);
    if (source == null) {
        return null;
    }
    Document doc = source.getDocument(true);
    if (doc == null) {
        return null;
    }
    // Check lineNumber:
    
    try {
        int lastLine = LineDocumentUtils.getLineIndex((LineDocument) doc, doc.getLength()-1);
        if (lineNumber > lastLine) {
            lineNumber = lastLine;
        }
    } catch (BadLocationException blex) {}
    int offset = LineDocumentUtils.getLineStartFromIndex((LineDocument) doc, lineNumber) + columnNumber;

    return new NamesTranslator(smt, fileObject, source, offset);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:34,代码来源:NamesTranslator.java

示例6: updateHints

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
/** Regenerate hints for the current file, if you change settings */
private void updateHints() {
    JTextComponent pane = EditorRegistry.lastFocusedComponent();
    if (pane != null) {
        Document doc = pane.getDocument();
        final Source source = Source.create(doc);
        // see issue #212967; non-file Source appears for some reason.
        if (source != null && source.getFileObject() != null) {
            RequestProcessor.getDefault().post(new Runnable() {
                public void run() {
                    try {
                        ParserManager.parse(Collections.singleton(source), new UserTask() {
                            public @Override void run(ResultIterator resultIterator) throws Exception {
                                GsfHintsManager.refreshHints(resultIterator);
                            }
                        });
                    } catch (ParseException ex) {
                        LOG.log(Level.WARNING, null, ex);
                    }
                }
            });
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:25,代码来源:HintsPanelLogic.java

示例7: getModel

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
/**
 * Will run parsing task!.
 *
 * @param file
 * @return
 */
public static CPModel getModel(FileObject file) throws ParseException {
    final AtomicReference<CPModel> model_ref = new AtomicReference<>();
    Source source = Source.create(file);
    ParserManager.parse(Collections.singleton(source), new UserTask() {
        @Override
        public void run(ResultIterator resultIterator) throws Exception {
            ResultIterator cssRI = WebUtils.getResultIterator(resultIterator, "text/css");
            if (cssRI != null) {
                CssParserResult result = (CssParserResult) cssRI.getParserResult();
                if (result != null) {
                    model_ref.set(CPModel.getModel(result));
                }
            }
        }
    });

    return model_ref.get();
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:25,代码来源:CPModel.java

示例8: holdsDocumentWriteLock

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
/**
 * Checks if the current thread holds a document write lock on some of given files
 * Slow should be used only in assertions
 * @param files to be checked
 * @return true when the current thread holds a edeitor write lock on some of given files
 */
private static boolean holdsDocumentWriteLock (final Iterable<Source> sources) {
    assert sources != null;
    final Class<AbstractDocument> docClass = AbstractDocument.class;
    try {
        final Method method = docClass.getDeclaredMethod("getCurrentWriter"); //NOI18N
        method.setAccessible(true);
        final Thread currentThread = Thread.currentThread();
        for (Source source : sources) {
            try {
                Document doc = source.getDocument (true);
                if (doc instanceof AbstractDocument) {
                    Object result = method.invoke(doc);
                    if (result == currentThread) {
                        return true;
                    }
                }
            } catch (Exception e) {
                Exceptions.printStackTrace(e);
            }            
        }
    } catch (NoSuchMethodException e) {
        Exceptions.printStackTrace(e);
    }
    return false;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:32,代码来源:TaskProcessor.java

示例9: testEmbeddedCSSSections

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
public void testEmbeddedCSSSections() throws Exception {
    Document doc = getDocument(getTestFile("testfiles/model/test3.html"));
    Source source = Source.create(doc);
    HtmlFileModel model = new HtmlFileModel(source);

    List<OffsetRange> entries = model.getEmbeddedCssSections();
    assertEquals(2, entries.size());
    OffsetRange entry = entries.get(0);
    
    //first section
    assertNotNull(entry);
    assertEquals(221, entry.getStart());
    assertEquals(295, entry.getEnd());

    //second section
    entry = entries.get(1);
    assertNotNull(entry);
    assertEquals(335, entry.getStart());
    assertEquals(411, entry.getEnd());
    
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:22,代码来源:HtmlFileModelTest.java

示例10: checkOffsets

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
protected void checkOffsets(final String relFilePath, final String caretLine) throws Exception {
    Source testSource = getTestSource(getTestFile(relFilePath));

    if (caretLine != null) {
        int caretOffset = getCaretOffset(testSource.createSnapshot().getText().toString(), caretLine);
        enforceCaretOffset(testSource, caretOffset);
    }

    ParserManager.parse(Collections.singleton(testSource), new UserTask() {
        public @Override void run(ResultIterator resultIterator) throws Exception {
            Parser.Result r = resultIterator.getParserResult();
            assertTrue(r instanceof ParserResult);
            ParserResult pr = (ParserResult) r;

            List<Object> validNodes = new ArrayList<Object>();
            List<Object> invalidNodes = new ArrayList<Object>();
            Map<Object,OffsetRange> positions = new HashMap<Object,OffsetRange>();
            initializeNodes(pr, validNodes, positions, invalidNodes);

            String annotatedSource = annotateOffsets(validNodes, positions, invalidNodes, pr);
            assertDescriptionMatches(relFilePath, annotatedSource, false, ".offsets");
        }
    });
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:25,代码来源:CslTestBase.java

示例11: query

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
@Override
public void query(CompletionResultSet resultSet, Document doc, int caretOffset) {
    try {
        ClasspathInfo cpInfo = ClasspathInfo.create(doc);
        ParserManager.parse(Collections.singleton(Source.create(doc)), 
                createTask(cpInfo, 
                    component, 
                    resultSet, 
                    doc, caretOffset, queryType)
        );
        resultSet.setHasAdditionalItems(additionalItems);
        resultSet.addAllItems(items);
        resultSet.finish();
    } catch (ParseException ex) {
        Exceptions.printStackTrace(ex);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:18,代码来源:FXMLCompletion2.java

示例12: findBuilderClass

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
@Override
public String findBuilderClass(CompilationInfo cinfo, Source source, String beanClassName) {
    TypeElement classElement = cinfo.getElements().getTypeElement(beanClassName);
    if (classElement == null) {
        return null;
    }
    StringBuilder sb = new StringBuilder(((PackageElement)classElement.getEnclosingElement()).getQualifiedName().toString());
    if (sb.length() > 0) {
        sb.append("."); // NOI18N
    }
    sb.append(classElement.getSimpleName().toString()).append("Builder"); // NOI18N
    
    TypeElement builderEl = cinfo.getElements().getTypeElement(sb.toString());
    return builderEl != null ?
            sb.toString() :
            null;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:18,代码来源:SimpleBuilderResolver.java

示例13: testParserInvocation

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
public void testParserInvocation() throws Exception {
    Source fxmlSource = Source.create(document);
    
    ParserManager.parse(Collections.singleton(fxmlSource), new UserTask() {
        @Override
        public void run(ResultIterator resultIterator) throws Exception {
            Parser.Result result = resultIterator.getParserResult();
            
            if (result instanceof FxmlParserResult) {
                FxmlParserResult fxResult = (FxmlParserResult)result;
                appendParsedTree(fxResult, report);
                appendErrors(fxResult, report);
                assertContents(report);
            }
        }
    });
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:18,代码来源:FxmlParserTest.java

示例14: updatePhaseCompletionTask

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
public static void updatePhaseCompletionTask (
        final @NonNull Collection<Pair<SchedulerTask,Class<? extends Scheduler>>> add,
        final @NonNull Collection<SchedulerTask> remove,
        final @NonNull Source source,
        final @NonNull SourceCache cache) {
    Parameters.notNull("add", add);
    Parameters.notNull("remove", remove);
    Parameters.notNull("source", source);
    Parameters.notNull("cache", cache);
    if (add.isEmpty() && remove.isEmpty()) {
        return;
    }
    final Collection<? extends Request> rqs = toRequests(add, cache, false);
    synchronized (INTERNAL_LOCK) {
        removePhaseCompletionTasks(remove, source);
        handleAddRequests (source, rqs);
    }
    cancelLowPriorityTask(rqs);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:20,代码来源:TaskProcessor.java

示例15: createSourceElementHandle

import org.netbeans.modules.parsing.api.Source; //导入依赖的package包/类
/**
 * Resolves the {@link FileObject} and source element path to a parser
 * result and {@link OpenTag}.
 *
 * The returned value is not cached and will run a parsing api task each
 * time is called.
 *
 * @return An instance of {@link  SourceElementHandle}
 * exception is thrown.
 * @throws ParseException
 */
public SourceElementHandle createSourceElementHandle() throws ParseException {
    final AtomicReference<SourceElementHandle> seh_ref = new AtomicReference<>();
    Source source = Source.create(file);
    ParserManager.parse(Collections.singleton(source), new UserTask() {
        @Override
        public void run(ResultIterator resultIterator) throws Exception {
            ResultIterator ri = WebUtils.getResultIterator(resultIterator, "text/html");
            if (ri == null) {
                return;
            }

            HtmlParserResult result = (HtmlParserResult) ri.getParserResult();
            Snapshot snapshot = result.getSnapshot();

            Node root = result.root();
            OpenTag openTag = ElementUtils.query(root, elementPath);

            seh_ref.set(new SourceElementHandle(openTag, snapshot, file));

        }
    });
    return seh_ref.get();
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:35,代码来源:AbstractSourceElementAction.java


注:本文中的org.netbeans.modules.parsing.api.Source类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。