/** * Fix for {@link IProblem#NullableFieldReference} * @param context context * @param problem problem to be fixed * @param proposals accumulator for computed proposals */ public static void addExtractCheckedLocalProposal(IInvocationContext context, IProblemLocation problem, Collection<ICommandAccess> proposals) { CompilationUnit compilationUnit = context.getASTRoot(); ICompilationUnit cu= (ICompilationUnit) compilationUnit.getJavaElement(); ASTNode selectedNode= problem.getCoveringNode(compilationUnit); SimpleName name= findProblemFieldName(selectedNode, problem.getProblemId()); if (name == null) return; ASTNode method= ASTNodes.getParent(selectedNode, MethodDeclaration.class); if (method == null) method= ASTNodes.getParent(selectedNode, Initializer.class); if (method == null) return; proposals.add(new ExtractToNullCheckedLocalProposal(cu, compilationUnit, name, method)); } private static SimpleName findProblemFieldName(ASTNode selectedNode, int problemID) {
/** * Fix for {@link IProblem#NullableFieldReference} * @param context context * @param problem problem to be fixed * @param proposals accumulator for computed proposals */ public static void addExtractCheckedLocalProposal(IInvocationContext context, IProblemLocation problem, Collection<ICommandAccess> proposals) { CompilationUnit compilationUnit = context.getASTRoot(); ICompilationUnit cu= (ICompilationUnit) compilationUnit.getJavaElement(); ASTNode selectedNode= problem.getCoveringNode(compilationUnit); SimpleName name= findProblemFieldName(selectedNode, problem.getProblemId()); if (name == null) return; ASTNode method= ASTNodes.getParent(selectedNode, MethodDeclaration.class); if (method == null) method= ASTNodes.getParent(selectedNode, Initializer.class); if (method == null) return; proposals.add(new ExtractToNullCheckedLocalProposal(cu, compilationUnit, name, method)); } private static SimpleName findProblemFieldName(ASTNode selectedNode, int problemID) {