public static void initContext() { problemQueryThreadLocal.set(new ProblemQuery()); }
/** * Build SWF model object and collect problems building SWF in * {@link #problems}. * * @return SWF model or null if SWF can't be built. * @throws InterruptedException concurrency problem */ private ISWF buildSWFModel() throws InterruptedException { final List<ICompilerProblem> problemsBuildingSWF = new ArrayList<ICompilerProblem>(); final ISWF swf = target.build(problemsBuildingSWF); problems.addAll(problemsBuildingSWF); if (swf == null) { ICompilerProblem problem = new UnableToBuildSWFProblem(getOutputFilePath()); problems.add(problem); } return swf; }
project.setProblems(problems.getProblems()); compile(); if (problems.hasFilteredProblems()) if (problems.hasErrors()) exitCode = ExitCode.FAILED_WITH_ERRORS; else else if (problems.hasFilteredProblems()) problems.add(unexpectedExceptionProblem); if (outProblems != null && problems.hasFilteredProblems()) for (ICompilerProblem problem : problems.getFilteredProblems())
public String getProblems() { StringBuffer problems = new StringBuffer(); if (problemQuery != null && problemQuery.hasFilteredProblems()) { for (final ICompilerProblem problem : problemQuery.getFilteredProblems()) { problems.append(problemFormatter.format(problem)); } } return problems.toString().trim(); }
configBuffer = projectConfigurator.getConfigurationBuffer(); problems = new ProblemQuery(projectConfigurator.getCompilerProblemSettings()); problems.addAll(projectConfigurator.getConfigurationProblems()); if (problems.hasErrors()) return false; problems.add(problem); return false; problems.add(problem); return false;
problemQuery = new ProblemQuery(); problemQuery.setShowProblemByClass(MultipleExternallyVisibleDefinitionsProblem.class, false); problemQuery.setShowProblemByClass(UnfoundPropertyProblem.class, false); problemQuery.setShowStrictSemantics(useStaticSemantics()); problemQuery.setShowWarnings(getShowWarnings()); problemQuery.addAll(configProblems); mainUnits.clear(); unitOrdering.clear(); problemQuery.clear(); problemQuery.addAll(problems); problemQuery.addAll(difference); problemQuery.add(new FileWriteProblem(e)); problemQuery.addAll(problems); problemFormatter = new WorkspaceProblemFormatter(workspace, compilerProblemCategorizer); ProblemPrinter printer = new ProblemPrinter(problemFormatter, err); problemCount += printer.printProblems(problemQuery.getFilteredProblems()); problemQuery.getErrorsAndWarnings(errors, warnings);
public boolean configure(String[] args) { projectConfigurator = createConfigurator(); projectConfigurator.setConfiguration(args, "typedefs", false); projectConfigurator.getTargetSettings(TargetType.SWC); configure((ExternCConfiguration) projectConfigurator.getConfiguration()); problems = new ProblemQuery( projectConfigurator.getCompilerProblemSettings()); problems.addAll(projectConfigurator.getConfigurationProblems()); if (problems.hasErrors()) { return false; } return true; }
problems.getErrorsAndWarnings(errors, warnings); if (errors.size() > 0) return false; if (!swcFile.exists()) problems.add(new LibraryNotFoundProblem(outputFolderName)); return false; unit, false); problems.addAll(errors); unit, false); problems.addAll(errors); ByteArrayOutputStream temp = new ByteArrayOutputStream(); ByteArrayOutputStream sourceMapTemp = null; problems.add(problem);
abcBytes = codegenResult.getABCBytes(); abcList.add(abcBytes); problemQuery.addAll(codegenResult.getProblems()); problemQuery.addAll(fatalProblems); problemQuery.setShowWarnings(false); if ( ! problemQuery.hasFilteredProblems() ) problemQuery.addAll(linkerProblems); problemQuery.add(new FileWriteProblem(e)); success = false; problemQuery.setShowWarnings(getShowWarnings());
if (printer.printProblems(problems.getFilteredProblems()) > 0) if (problems.hasErrors()) exitCode = ExitCode.FAILED_WITH_ERRORS; Collection<ICompilerProblem> warnings = new ArrayList<ICompilerProblem>(); problems.getErrorsAndWarnings(errors, warnings);
project.setProblems(problems.getProblems()); compile(); exitCode = printProblems(printer, legacyOutput); reportTargetCompletion(); else if (problems.hasFilteredProblems()) printer.printProblems(problems.getFilteredProblems()); exitCode = ExitCode.FAILED_WITH_CONFIG_ERRORS;
/** * Any problems to report after filtering? * @return true if there are filtered problems. */ public boolean hasFilteredProblems() { return getFilteredProblems().iterator().hasNext(); }
problems.getErrorsAndWarnings(errors, warnings); if (errors.size() > 0) return false; if (!swcFile.exists()) problems.add(new LibraryNotFoundProblem(outputFolderName)); return false; (List<ICompilerProblem>) problems.getProblems(), unit, false); project, (List<ICompilerProblem>) problems.getProblems(), unit, false); (List<ICompilerProblem>) problems.getProblems(), unit, false); project, (List<ICompilerProblem>) problems.getProblems(), unit, false); problems.getErrorsAndWarnings(errors, warnings); if (errors.size() > 0) return false; problems.add(problem);
/** * Add an array of compiler problems to the problems collection. * @param newProblems - the problems to add. * @post the problems collection is marked "not sorted." */ public void addAll(ICompilerProblem[] newProblems) { addAll(Arrays.asList(newProblems)); }
problems.getErrorsAndWarnings(errors, warnings); if (errors.size() > 0) return false; problems.add(problem);
emit(); else if (problems.hasFilteredProblems()) problems.add(unexpectedExceptionProblem);
private boolean buildDB() { staticInitializers = new ArrayList<String>(); staticInitializerOwners = new ArrayList<String>(); graph = new DependencyGraph(); if (isGoogClass(mainName)) { problems.add(new MainDefinitionQNameProblem("Google Closure Library", mainName)); return false; } if (isExternal(mainName)) { problems.add(new MainDefinitionQNameProblem("External Libraries", mainName)); return false; } addDeps(mainName); return true; }
/** * Enable or disable semantic warnings. * @param showWarnings - if true, semantic warnings * will appear in the filtered diagnostics. */ public void setShowWarnings(boolean showWarnings) { setShowProblemByClass(SemanticWarningProblem.class, showWarnings); }
protected static int compile(String[] args) throws NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException { int exitCode; MxmlJSC mxmlJSC = JS_COMPILER.newInstance(); exitCode = mxmlJSC.execute(args); if (mxmlJSC.getProblemQuery().hasErrors()) { processProblemReport(mxmlJSC); } return exitCode; }