本文整理汇总了Java中org.eclipse.jdt.internal.compiler.problem.DefaultProblem类的典型用法代码示例。如果您正苦于以下问题:Java DefaultProblem类的具体用法?Java DefaultProblem怎么用?Java DefaultProblem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DefaultProblem类属于org.eclipse.jdt.internal.compiler.problem包,在下文中一共展示了DefaultProblem类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: convertRange
import org.eclipse.jdt.internal.compiler.problem.DefaultProblem; //导入依赖的package包/类
@SuppressWarnings("restriction")
private static Range convertRange(IProblem problem) {
Position start = new Position();
Position end = new Position();
start.setLine(problem.getSourceLineNumber()-1);// VSCode is 0-based
end.setLine(problem.getSourceLineNumber()-1);
if(problem instanceof DefaultProblem){
DefaultProblem dProblem = (DefaultProblem)problem;
start.setCharacter(dProblem.getSourceColumnNumber() - 1);
int offset = 0;
if (dProblem.getSourceStart() != -1 && dProblem.getSourceEnd() != -1) {
offset = dProblem.getSourceEnd() - dProblem.getSourceStart() + 1;
}
end.setCharacter(dProblem.getSourceColumnNumber() - 1 + offset);
}
return new Range(start, end);
}
示例2: appendProblem
import org.eclipse.jdt.internal.compiler.problem.DefaultProblem; //导入依赖的package包/类
public static void appendProblem(
StringBuffer problems, IProblem problem, char[] source, int problemCount) {
problems.append(problemCount + (problem.isError() ? ". ERROR" : ". WARNING"));
problems.append(" in " + new String(problem.getOriginatingFileName()));
if (source != null) {
problems.append(((DefaultProblem) problem).errorReportSource(source));
}
problems.append("\n");
problems.append(problem.getMessage());
problems.append("\n");
}
示例3: appendProblem
import org.eclipse.jdt.internal.compiler.problem.DefaultProblem; //导入依赖的package包/类
public static void appendProblem(StringBuffer problems, IProblem problem, char[] source, int problemCount) {
problems.append(problemCount + (problem.isError() ? ". ERROR" : problem.isWarning() ? ". WARNING" : ". INFO"));
problems.append(" in " + new String(problem.getOriginatingFileName()));
if (source != null) {
problems.append(((DefaultProblem)problem).errorReportSource(source));
}
problems.append("\n");
problems.append(problem.getMessage());
problems.append("\n");
}
示例4: writeProblemLog
import org.eclipse.jdt.internal.compiler.problem.DefaultProblem; //导入依赖的package包/类
public void writeProblemLog(Appendable out) throws IOException {
out.append("----------\n");
if (problems != null) {
int errorCount = 0;
for (CompilationResult r : problems) {
for (CategorizedProblem p : r.getAllProblems()) {
out.append(Integer.toString(++errorCount));
out.append(". ");
if (p.isError()) {
out.append("ERROR in ");
} else if (p.isWarning()) {
out.append("WARNING in ");
} else {
out.append("Problem in ");
}
out.append(new String(p.getOriginatingFileName()));
String errorReportSource =
((DefaultProblem) p).errorReportSource(
r.compilationUnit.getContents());
out.append(errorReportSource);
out.append("\n");
out.append(p.getMessage());
out.append("\n----------\n");
}
}
}
}
示例5: appendProblem
import org.eclipse.jdt.internal.compiler.problem.DefaultProblem; //导入依赖的package包/类
public static void appendProblem(StringBuffer problems, IProblem problem, char[] source, int problemCount) {
problems.append(problemCount + (problem.isError() ? ". ERROR" : ". WARNING"));
problems.append(" in " + new String(problem.getOriginatingFileName()));
if (source != null) {
problems.append(((DefaultProblem)problem).errorReportSource(source));
}
problems.append("\n");
problems.append(problem.getMessage());
problems.append("\n");
}
示例6: loggingExtraProblems
import org.eclipse.jdt.internal.compiler.problem.DefaultProblem; //导入依赖的package包/类
@Override
protected void loggingExtraProblems() {
super.loggingExtraProblems();
for (@SuppressWarnings("rawtypes")
Iterator iterator = this.extraProblems.iterator(); iterator.hasNext(); ) {
final CategorizedProblem problem = (CategorizedProblem) iterator.next();
if (this.diagnosticListener != null) {
this.diagnosticListener.report(new Diagnostic<JavaFileObject>() {
@Override
public String getCode() {
return null;
}
@Override
public long getColumnNumber() {
if (problem instanceof DefaultProblem) {
return ((DefaultProblem) problem).column;
}
return Diagnostic.NOPOS;
}
@Override
public long getEndPosition() {
if (problem instanceof DefaultProblem) {
return ((DefaultProblem) problem).getSourceEnd();
}
return Diagnostic.NOPOS;
}
@Override
public Kind getKind() {
if (problem.isError()) {
return Diagnostic.Kind.ERROR;
}
if (problem.isWarning()) {
return Diagnostic.Kind.WARNING;
}
return Diagnostic.Kind.OTHER;
}
@Override
public long getLineNumber() {
if (problem instanceof DefaultProblem) {
return ((DefaultProblem) problem).getSourceLineNumber();
}
return Diagnostic.NOPOS;
}
@Override
public String getMessage(Locale locale) {
return problem.getMessage();
}
@Override
public long getPosition() {
if (problem instanceof DefaultProblem) {
return ((DefaultProblem) problem).getSourceStart();
}
return Diagnostic.NOPOS;
}
@Override
public JavaFileObject getSource() {
if (problem instanceof DefaultProblem) {
File f = new File(new String(((DefaultProblem) problem).getOriginatingFileName()));
if (f.exists()) {
return new EclipseFileObject(null, f.toURI(), JavaFileObject.Kind.SOURCE, null);
}
return null;
}
return null;
}
@Override
public long getStartPosition() {
return getPosition();
}
});
}
}
}
示例7: getProblemLog
import org.eclipse.jdt.internal.compiler.problem.DefaultProblem; //导入依赖的package包/类
/**
* Returns the compilation errors / warnings for the given CompilationResult.
*
* @param compilationResult the compilation result
* @param showCategory
* @param showWarningToken
* @return String the problem log
*/
public static String getProblemLog(CompilationResult compilationResult, boolean showCategory, boolean showWarningToken) {
StringBuffer buffer = new StringBuffer(100);
if (compilationResult.hasProblems() || compilationResult.hasTasks()) {
CategorizedProblem[] problems = compilationResult.getAllProblems();
int count = problems.length;
int problemCount = 0;
char[] unitSource = compilationResult.compilationUnit.getContents();
for (int i = 0; i < count; i++) {
DefaultProblem problem = (DefaultProblem) problems[i];
if (problem != null) {
if (problemCount == 0)
buffer.append("----------\n");
problemCount++;
buffer.append(problemCount + (problem.isError() ? ". ERROR" : problem.isWarning() ? ". WARNING" : ". INFO"));
buffer.append(" in " + new String(problem.getOriginatingFileName()).replace('/', '\\'));
try {
buffer.append(problem.errorReportSource(unitSource));
buffer.append("\n");
if (showCategory) {
String category = problem.getInternalCategoryMessage();
if (category != null) {
buffer.append("[@cat:").append(category).append("] ");
}
}
if (showWarningToken) {
int irritant = ProblemReporter.getIrritant(problem.getID());
if (irritant != 0) {
String warningToken = CompilerOptions.warningTokenFromIrritant(irritant);
if (warningToken != null) {
buffer.append("[@sup:").append(warningToken).append("] ");
}
}
}
buffer.append(problem.getMessage());
buffer.append("\n");
} catch (Exception e) {
}
buffer.append("----------\n");
}
}
}
return buffer.toString();
}
示例8: acceptResult
import org.eclipse.jdt.internal.compiler.problem.DefaultProblem; //导入依赖的package包/类
@Override
public void acceptResult(CompilationResult result) {
if (result == null) {
return; // ah?
}
final String sourceName = new String(result.getFileName());
final File sourceFile = new File(sourceName);
Resource<File> input = context.getProcessedSource(sourceFile);
// track type references
if (result.rootReferences != null && result.qualifiedReferences != null && result.simpleNameReferences != null) {
context.setAttribute(input.getResource(), ATTR_REFERENCES, new ReferenceCollection(result.rootReferences, result.qualifiedReferences, result.simpleNameReferences));
}
if (result.hasProblems()) {
for (CategorizedProblem problem : result.getProblems()) {
if (problem.isError() || isShowWarnings()) {
MessageSeverity severity = problem.isError() ? MessageSeverity.ERROR : MessageSeverity.WARNING;
input.addMessage(problem.getSourceLineNumber(), ((DefaultProblem) problem).column, problem.getMessage(), severity, null /* cause */);
}
}
}
try {
if (!result.hasErrors() && !isProcOnly()) {
for (ClassFile classFile : result.getClassFiles()) {
char[] filename = classFile.fileName();
int length = filename.length;
char[] relativeName = new char[length + 6];
System.arraycopy(filename, 0, relativeName, 0, length);
System.arraycopy(SuffixConstants.SUFFIX_class, 0, relativeName, length, 6);
CharOperation.replace(relativeName, '/', File.separatorChar);
String relativeStringName = new String(relativeName);
writeClassFile(input, relativeStringName, classFile);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// XXX double check affected sources are recompiled when this source has errors
}
示例9: getExtraMarkerAttributeValues
import org.eclipse.jdt.internal.compiler.problem.DefaultProblem; //导入依赖的package包/类
/**
* Returns the respective values for the extra marker attributes associated to this problem when persisted into
* a marker by the JavaBuilder. Each value must correspond to a matching attribute name, as defined by
* {@link #getExtraMarkerAttributeNames()}.
* The values must be eligible for marker creation, as defined by <code> IMarker#setAttributes(String[], Object[])}.
* @return the values of the corresponding extra marker attributes
*/
public Object[] getExtraMarkerAttributeValues() {
return DefaultProblem.EMPTY_VALUES;
}