private static List<HintFix> getFixes(Collection<Attribute> attributes, OpenTag element, RuleContext context) { List<HintFix> fixes = new ArrayList<>(); Snapshot snap = context.parserResult.getSnapshot(); for(Attribute aName : attributes) { fixes.add(new AddAttributeToSourceFix(aName, element, snap)); } if(attributes.size() > 1) { //add all attributes at once fix fixes.add(new AddAttributeToSourceFix(attributes, element, snap)); } return fixes; }
private boolean hasFatalErrors(ParserResult result) { for (org.netbeans.modules.csl.api.Error err : result.getDiagnostics()) { if (err.getSeverity() == Severity.FATAL) { return true; } } return false; }
private static List<HintFix> getFixes(String elementName, RuleContext context) { List<HintFix> fixes = new ArrayList<>(); Snapshot snap = context.parserResult.getSnapshot(); fixes.add(new RemoveElementFix(elementName, null, snap)); fixes.add(new EditProjectsConfFix(snap)); return fixes; }
public void computeErrors(HintsManager manager, RuleContext context, List<Hint> result, List<Error> unhandled) { ParserResult parserResult = context.parserResult; if (parserResult == null) { return; } List<? extends Error> errors = parserResult.getDiagnostics(); if (errors == null || errors.size() == 0) { return; } cancelled = false; @SuppressWarnings("unchecked") Map<String,List<JsErrorRule>> hints = (Map)manager.getErrors(); if (hints.isEmpty() || isCancelled()) { unhandled.addAll(errors); return; } try { context.doc.readLock(); for (Error error : errors) { if (!applyErrorRules(manager, context, error, hints, result)) { unhandled.add(error); } } } finally { context.doc.readUnlock(); } }
public boolean appliesTo(RuleContext context) { return JsTokenId.JAVASCRIPT_MIME_TYPE.equals(context.parserResult.getSnapshot().getSource().getMimeType()); }
@Override public void computeErrors(HintsManager manager, RuleContext context, List<Hint> hints, List<Error> unhandled) { resume(); List<? extends Error> errors = context.parserResult.getDiagnostics(); unhandled.addAll(errors); Map<?, List<? extends ErrorRule>> allErrors = manager.getErrors(); List<? extends ErrorRule> unhandledErrors = allErrors.get(ErrorType.UNHANDLED_ERRORS); if (unhandledErrors != null) { RulesRunner<Error> rulesRunner = new RulesRunnerImpl<>(manager, initializeContext(context), unhandled); rulesRunner.run(unhandledErrors, RuleAdjuster.NONE); } List<? extends ErrorRule> hintErrors = allErrors.get(ErrorType.HINT_ERRORS); if (hintErrors != null) { RulesRunner<Hint> rulesRunner = new RulesRunnerImpl<>(manager, initializeContext(context), hints); rulesRunner.run(hintErrors, RuleAdjuster.NONE); } }
public static SemiAttribute semiAttribute(ParserResult info) { SemiAttribute a = info2Attr.get(info); if (a == null) { long startTime = System.currentTimeMillis(); a = new SemiAttribute(info); a.scan(Utils.getRoot(info)); a.info = null; info2Attr.put(info, a); long endTime = System.currentTimeMillis(); FileObject fo = info.getSnapshot().getSource().getFileObject(); Logger.getLogger("TIMER").log(Level.FINE, "SemiAttribute global instance", new Object[]{fo, a}); Logger.getLogger("TIMER").log(Level.FINE, "SemiAttribute global time", new Object[]{fo, (endTime - startTime)}); } return a; }
@Override public void run(ResultIterator resultIterator) throws Exception { results[0] = resultIterator.getParserResult(parserResult.getSnapshot().getOriginalOffset(0) - 2); }
private static List<HintFix> getFixes(Collection<String> attributeNames, String elementName, RuleContext context) { List<HintFix> fixes = new ArrayList<>(); Snapshot snap = context.parserResult.getSnapshot(); for(String aName : attributeNames) { fixes.add(new AddAttributeFix(aName, elementName, snap)); //add to the parent element fixes.add(new AddAttributeFix(aName, null, snap)); //add as contextfree } if(attributeNames.size() > 1) { //add all attributes at once fix fixes.add(new AddAttributeFix(attributeNames, elementName, snap)); fixes.add(new AddAttributeFix(attributeNames, null, snap)); } fixes.add(new EditProjectsConfFix(snap)); return fixes; }
@Override public final OffsetRange getOffsetRange(ParserResult result) { int start = result.getSnapshot().getOriginalOffset(offsetRange.getStart()); if (start < 0) { return OffsetRange.NONE; } int end = result.getSnapshot().getOriginalOffset(offsetRange.getEnd()); return new OffsetRange(start, end); }
@Override public void run(ParserResult result, SchedulerEvent event) { final CSSUpdater updater = CSSUpdater.getDefault(); if (!updater.isStarted()) { return; } String sourceMimeType = result.getSnapshot().getSource().getMimeType(); if (!hasFatalErrors(result) && "text/css".equals(sourceMimeType)) { // NOI18N updater.update(result.getSnapshot().getSource().getFileObject(), result.getSnapshot().getText().toString()); } }
private Hint getDescriptor(Operation operation, String description, RuleContext context, BaseDocument baseDoc, OffsetRange range) { int DEFAULT_PRIORITY = 292; HintFix fixToApply = new SimpleFix(operation, description, baseDoc, context); List<HintFix> fixList = new ArrayList<>(1); fixList.add(fixToApply); // FIXME parsing API Hint descriptor = new Hint(this, fixToApply.getDescription(), context.parserResult.getSnapshot().getSource().getFileObject(), range, fixList, DEFAULT_PRIORITY); return descriptor; }
String getUnigueNameForAnonymObject(ParserResult parserResult) { FileObject fo = parserResult.getSnapshot().getSource().getFileObject(); if (fo != null) { return fo.getName() + ANONYMOUS_OBJECT_NAME_START + anonymObjectCount++; } return ANONYMOUS_OBJECT_NAME_START + anonymObjectCount++; }
private GroovyStructureItem(ASTElement node, ParserResult info) { this.node = node; this.kind = node.getKind(); this.info = info; // FIXME true or false ? this.doc = (BaseDocument) info.getSnapshot().getSource().getDocument(false); }
private JavaSource createJavaSource() { FileObject fileObject = info.getSnapshot().getSource().getFileObject(); if (fileObject == null) { return null; } // get the JavaSource for our file. JavaSource javaSource = JavaSource.create(ClasspathInfo.create(fileObject)); if (javaSource == null) { LOG.log(Level.FINEST, "Problem retrieving JavaSource from ClassPathInfo, exiting."); return null; } return javaSource; }
public static QuerySupport get(final ParserResult info) { return get(info.getSnapshot().getSource().getFileObject()); }
private static FileObject resolveRelativeFile(ParserResult info, String name) { while (true) { FileObject result; // if (psp != null) { result = PhpSourcePath.resolveFile(info.getSnapshot().getSource().getFileObject().getParent(), name); // } else { // result = info.getFileObject().getParent().getFileObject(name); // } if (result != null) { return result; } //try to strip a directory from the "name": int slash = name.indexOf('/'); if (slash != (-1)) { name = name.substring(slash + 1); } else { return null; } } }
public CompleteElementHandler(CompletionContext context) { this.context = context; this.info = context.getParserResult(); FileObject fo = info.getSnapshot().getSource().getFileObject(); if (fo != null) { // FIXME index is broken when invoked on start this.index = GroovyIndex.get(QuerySupport.findRoots(fo, Collections.singleton(ClassPath.SOURCE), null, null)); } else { this.index = null; } }
private AstPath getPathFromInfo(final int caretOffset, final ParserResult info) { assert info != null; ASTNode root = ASTUtils.getRoot(info); // If we don't get a valid root-node from a valid CompilationInfo, // there's not much we can do. cf. # 150929 if (root == null) { return null; } // FIXME parsing API BaseDocument doc = (BaseDocument) info.getSnapshot().getSource().getDocument(true); return new AstPath(root, caretOffset, doc); }
public CustomElementHint(String elementName, RuleContext context, OffsetRange range) { super(RULE, Bundle.customHTMLElement(), context.parserResult.getSnapshot().getSource().getFileObject(), range, getFixes(elementName, context), 30); }