private AnalysisResult analyze(final VariableToDeclare v, final AstNode scope) { final BlockStatement block = v.getBlock(); final DefiniteAssignmentAnalysis analysis = new DefiniteAssignmentAnalysis(context, block); if (v.getInsertionPoint() != null) { final Statement parentStatement = v.getInsertionPoint(); analysis.setAnalyzedRange(parentStatement, block); } else { final ExpressionStatement parentStatement = (ExpressionStatement) v.getReplacedAssignment().getParent(); analysis.setAnalyzedRange(parentStatement, block); } analysis.analyze(v.getName()); final boolean needsInitializer = !analysis.getUnassignedVariableUses().isEmpty(); final IsSingleAssignmentVisitor isSingleAssignmentVisitor = new IsSingleAssignmentVisitor(v.getName(), v.getReplacedAssignment()); scope.acceptVisitor(isSingleAssignmentVisitor, null); return new AnalysisResult(isSingleAssignmentVisitor.isSingleAssignment(), needsInitializer); }
private AnalysisResult analyze(final VariableToDeclare v, final AstNode scope) { final BlockStatement block = v.getBlock(); final DefiniteAssignmentAnalysis analysis = new DefiniteAssignmentAnalysis(context, block); if (v.getInsertionPoint() != null) { final Statement parentStatement = v.getInsertionPoint(); analysis.setAnalyzedRange(parentStatement, block); } else { final ExpressionStatement parentStatement = (ExpressionStatement) v.getReplacedAssignment().getParent(); analysis.setAnalyzedRange(parentStatement, block); } analysis.analyze(v.getName()); final boolean needsInitializer = !analysis.getUnassignedVariableUses().isEmpty(); final IsSingleAssignmentVisitor isSingleAssignmentVisitor = new IsSingleAssignmentVisitor(v.getName(), v.getReplacedAssignment()); scope.acceptVisitor(isSingleAssignmentVisitor, null); return new AnalysisResult(isSingleAssignmentVisitor.isSingleAssignment(), needsInitializer); }
private AnalysisResult analyze(final VariableToDeclare v, final AstNode scope) { final BlockStatement block = v.getBlock(); final DefiniteAssignmentAnalysis analysis = new DefiniteAssignmentAnalysis(context, block); if (v.getInsertionPoint() != null) { final Statement parentStatement = v.getInsertionPoint(); analysis.setAnalyzedRange(parentStatement, block); } else { final ExpressionStatement parentStatement = (ExpressionStatement) v.getReplacedAssignment().getParent(); analysis.setAnalyzedRange(parentStatement, block); } analysis.analyze(v.getName()); final boolean needsInitializer = !analysis.getUnassignedVariableUses().isEmpty(); final IsSingleAssignmentVisitor isSingleAssignmentVisitor = new IsSingleAssignmentVisitor(v.getName(), v.getReplacedAssignment()); scope.acceptVisitor(isSingleAssignmentVisitor, null); return new AnalysisResult(isSingleAssignmentVisitor.isSingleAssignment(), needsInitializer); }