本文整理匯總了Java中org.eclipse.jdt.core.compiler.IProblem.getID方法的典型用法代碼示例。如果您正苦於以下問題:Java IProblem.getID方法的具體用法?Java IProblem.getID怎麽用?Java IProblem.getID使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.eclipse.jdt.core.compiler.IProblem
的用法示例。
在下文中一共展示了IProblem.getID方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getProblemKind
import org.eclipse.jdt.core.compiler.IProblem; //導入方法依賴的package包/類
private static int getProblemKind(IProblem problem) {
switch (problem.getID()) {
case IProblem.UndefinedField:
return FIELD;
case IProblem.UndefinedMethod:
return METHOD;
case IProblem.UndefinedLabel:
return LABEL;
case IProblem.UndefinedName:
case IProblem.UnresolvedVariable:
return NAME;
case IProblem.UndefinedType:
return TYPE;
}
return 0;
}
示例2: getProblemKind
import org.eclipse.jdt.core.compiler.IProblem; //導入方法依賴的package包/類
private static int getProblemKind(IProblem problem) {
switch (problem.getID()) {
case IProblem.UndefinedField:
return FIELD;
case IProblem.UndefinedMethod:
return METHOD;
case IProblem.UndefinedLabel:
return LABEL;
case IProblem.UndefinedName:
case IProblem.UnresolvedVariable:
return NAME;
case IProblem.UndefinedType:
return TYPE;
}
return 0;
}
示例3: determineUnresolvableImports
import org.eclipse.jdt.core.compiler.IProblem; //導入方法依賴的package包/類
private static Collection<ImportDeclaration> determineUnresolvableImports(CompilationUnit cu) {
Collection<ImportDeclaration> unresolvableImports= new ArrayList<>(cu.imports().size());
for (IProblem problem : cu.getProblems()) {
if (problem.getID() == IProblem.ImportNotFound) {
ImportDeclaration problematicImport= getProblematicImport(problem, cu);
if (problematicImport != null) {
unresolvableImports.add(problematicImport);
}
}
}
return unresolvableImports;
}
示例4: isSyntaxLikeError
import org.eclipse.jdt.core.compiler.IProblem; //導入方法依賴的package包/類
public boolean isSyntaxLikeError(IProblem problem) {
//Syntax issues are always reported
if ((problem.getID() & IProblem.Syntax) != 0) {
return true;
}
if (!isDefaultProject && problem.getID() == IProblem.PackageIsNotExpectedPackage) {
return false;
}
//Type and Import issues are never reported
if ((problem.getID() & IProblem.TypeRelated) != 0 || //
(problem.getID() & IProblem.ImportRelated) != 0) {
return false;
}
//For the rest, we need to cherry pick what is ignored or not
switch (problem.getID()) {
case IProblem.AbstractMethodMustBeImplemented:
case IProblem.AmbiguousMethod:
case IProblem.DanglingReference:
case IProblem.MethodMustOverrideOrImplement:
case IProblem.MissingReturnType:
case IProblem.MissingTypeInConstructor:
case IProblem.MissingTypeInLambda:
case IProblem.MissingTypeInMethod:
case IProblem.UndefinedConstructor:
case IProblem.UndefinedField:
case IProblem.UndefinedMethod:
case IProblem.UndefinedName:
case IProblem.UnresolvedVariable:
return false;
default:
//We log problems for troubleshooting purposes
String error = getError(problem);
JavaLanguageServerPlugin.logInfo(problem.getMessage() + " is of type " + error);
}
return true;
}
示例5: ProblemLocation
import org.eclipse.jdt.core.compiler.IProblem; //導入方法依賴的package包/類
public ProblemLocation(IProblem problem) {
fId = problem.getID();
fArguments = problem.getArguments();
fOffset = problem.getSourceStart();
fLength = problem.getSourceEnd() - fOffset + 1;
fIsError = problem.isError();
fMarkerType =
problem instanceof CategorizedProblem
? ((CategorizedProblem) problem).getMarkerType()
: IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER;
}
示例6: acceptResult
import org.eclipse.jdt.core.compiler.IProblem; //導入方法依賴的package包/類
public void acceptResult(CompilationResult result) {
String className = ((CompilationUnit) result.getCompilationUnit()).className;
int classIdx;
for (classIdx = 0; classIdx < units.length; ++classIdx) {
if (className.equals(units[classIdx].getName())) {
break;
}
}
if (result.hasErrors()) {
// IProblem[] problems = result.getErrors();
IProblem[] problems = getJavaCompilationErrors(result);
unitResults[classIdx].problems = problems;
String sourceCode = units[classIdx].getSourceCode();
for (int i = 0; i < problems.length; i++) {
IProblem problem = problems[i];
if (IProblem.UndefinedMethod == problem.getID()) {
if (problem.getSourceStart() >= 0 && problem.getSourceEnd() >= 0) {
String methodName = sourceCode.substring(problem.getSourceStart(), problem.getSourceEnd() + 1);
Method method = FunctionsUtil.getInstance(jasperReportsContext).getMethod4Function(methodName);
if (method != null) {
unitResults[classIdx].addMissingMethod(method);
// continue;
}
}
}
}
} else {
ClassFile[] resultClassFiles = result.getClassFiles();
for (int i = 0; i < resultClassFiles.length; i++) {
units[classIdx].setCompileData(resultClassFiles[i].getBytes());
}
}
}
示例7: acceptResult
import org.eclipse.jdt.core.compiler.IProblem; //導入方法依賴的package包/類
@Override
public void acceptResult(CompilationResult result)
{
String className = ((CompilationUnit) result.getCompilationUnit()).className;
int classIdx;
for (classIdx = 0; classIdx < units.length; ++classIdx)
{
if (className.equals(units[classIdx].getName()))
{
break;
}
}
if (result.hasErrors())
{
//IProblem[] problems = result.getErrors();
IProblem[] problems = getJavaCompilationErrors(result);
unitResults[classIdx].problems = problems;
String sourceCode = units[classIdx].getSourceCode();
for (int i = 0; i < problems.length; i++)
{
IProblem problem = problems[i];
if (IProblem.UndefinedMethod == problem.getID())
{
if (
problem.getSourceStart() >= 0
&& problem.getSourceEnd() >= 0
)
{
String methodName =
sourceCode.substring(
problem.getSourceStart(),
problem.getSourceEnd() + 1
);
Method method = FunctionsUtil.getInstance(jasperReportsContext).getMethod4Function(methodName);
if (method != null)
{
unitResults[classIdx].addMissingMethod(method);
//continue;
}
}
}
}
}
else
{
ClassFile[] resultClassFiles = result.getClassFiles();
for (int i = 0; i < resultClassFiles.length; i++)
{
units[classIdx].setCompileData(resultClassFiles[i].getBytes());
}
}
}
示例8: checkPackageDeclaration
import org.eclipse.jdt.core.compiler.IProblem; //導入方法依賴的package包/類
private ICompilationUnit checkPackageDeclaration(String uri, ICompilationUnit unit) {
if (unit.getResource() != null && unit.getJavaProject() != null && unit.getJavaProject().getProject().getName().equals(ProjectsManager.DEFAULT_PROJECT_NAME)) {
try {
CompilationUnit astRoot = SharedASTProvider.getInstance().getAST(unit, new NullProgressMonitor());
IProblem[] problems = astRoot.getProblems();
for (IProblem problem : problems) {
if (problem.getID() == IProblem.PackageIsNotExpectedPackage) {
IResource file = unit.getResource();
boolean toRemove = file.isLinked();
if (toRemove) {
IPath path = file.getParent().getProjectRelativePath();
if (path.segmentCount() > 0 && JDTUtils.SRC.equals(path.segments()[0])) {
String packageNameResource = path.removeFirstSegments(1).toString().replace(JDTUtils.PATH_SEPARATOR, JDTUtils.PERIOD);
path = file.getLocation();
if (path != null && path.segmentCount() > 0) {
path = path.removeLastSegments(1);
String pathStr = path.toString().replace(JDTUtils.PATH_SEPARATOR, JDTUtils.PERIOD);
if (pathStr.endsWith(packageNameResource)) {
toRemove = false;
}
}
}
}
if (toRemove) {
file.delete(true, new NullProgressMonitor());
sharedASTProvider.invalidate(unit);
unit.discardWorkingCopy();
unit = JDTUtils.resolveCompilationUnit(uri);
unit.becomeWorkingCopy(new NullProgressMonitor());
triggerValidation(unit);
}
break;
}
}
} catch (CoreException e) {
JavaLanguageServerPlugin.logException(e.getMessage(), e);
}
}
return unit;
}
示例9: isCorresponding
import org.eclipse.jdt.core.compiler.IProblem; //導入方法依賴的package包/類
private static boolean isCorresponding(IProblem oldProblem, IProblem iProblem) {
if (oldProblem.getID() != iProblem.getID()) return false;
if (!oldProblem.getMessage().equals(iProblem.getMessage())) return false;
return true;
}
示例10: isIgnorableProblem
import org.eclipse.jdt.core.compiler.IProblem; //導入方法依賴的package包/類
private boolean isIgnorableProblem(IProblem problem) {
if (problem.getID() == IProblem.NotVisibleField) return true;
return false;
}
示例11: shouldReport
import org.eclipse.jdt.core.compiler.IProblem; //導入方法依賴的package包/類
/**
* Evaluates if a problem needs to be reported.
*
* @param problem the problem
* @param cu the AST containing the new source
* @return return <code>true</code> if the problem needs to be reported
*/
protected boolean shouldReport(IProblem problem, CompilationUnit cu) {
if (!problem.isError()) return false;
if (problem.getID() == IProblem.UndefinedType) // reported when trying to import
return false;
return true;
}