Я работаю над плагином Eclipse и хотел бы сделать некоторые из его предложений ошибками компилятора, если их не обработать, и поэтому я попытался создать участника компиляции, который создает ошибку компиляции, несмотря ни на что, но проект все еще компилируется, и он, похоже, не Работа. Мой код:
public class compilerNotificator extends CompilationParticipant{
@Override
public int aboutToBuild(@SuppressWarnings("unused") final IJavaProject project){
return 0;
}
@Override
public boolean isActive(@SuppressWarnings("unused") final IJavaProject project){
return true;
}
@Override
public void reconcile(final ReconcileContext context){
final CategorizedProblem[] problems = new CategorizedProblem[1];
problems[0] = new CategorizedProblem() {
@Override
public void setSourceStart(final int sourceStart) {
// TODO Auto-generated method stub
}
@Override
public void setSourceLineNumber(final int lineNumber) {
// TODO Auto-generated method stub
}
@Override
public void setSourceEnd(final int sourceEnd) {
// TODO Auto-generated method stub
}
@Override
public boolean isWarning() {
// TODO Auto-generated method stub
return true;
}
@Override
public boolean isError() {
// TODO Auto-generated method stub
return true;
}
@Override
public int getSourceStart() {
// TODO Auto-generated method stub
return 3;
}
@Override
public int getSourceLineNumber() {
// TODO Auto-generated method stub
return 10;
}
@Override
public int getSourceEnd() {
// TODO Auto-generated method stub
return 34;
}
@Override
public char[] getOriginatingFileName() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getMessage() {
// TODO Auto-generated method stub
return "This is some fucked up shit";
}
@Override
public int getID() {
// TODO Auto-generated method stub
return 1000129;
}
@Override
public String[] getArguments() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getMarkerType() {
// TODO Auto-generated method stub
return "Bad";
}
@Override
public int getCategoryID() {
// TODO Auto-generated method stub
return 5;
}
};
context.putProblems("test", problems);
}
}
Анонимный класс предназначен только для целей тестирования и не имеет никакого значения, но предполагается, что именно он вызывает ошибку, а не...
Прямо сейчас приведенный выше код находится в коде страницы настроек плагина (в Windows -> Настройки). Спасибо!
Кстати, я уже пытался изменить возвращаемое значение aboutToBuild на IPProblem.AnnotaionCircularRef (что-то в этом роде), но получил тот же результат.