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); }
final BlockStatement block = (BlockStatement) v.getInsertionPoint().getParent(); final AnalysisResult analysisResult = analyze(v, block); final VariableDeclarationStatement declaration = new VariableDeclarationStatement(v.getType().clone(), v.getName(), Expression.MYSTERY_OFFSET); final VariableInitializer initializer = new VariableInitializer(v.getName()); final Expression right = replacedAssignment.getRight(); final AstNode parent = replacedAssignment.getParent();
final BlockStatement block = (BlockStatement) v.getInsertionPoint().getParent(); final AnalysisResult analysisResult = analyze(v, block); final VariableDeclarationStatement declaration = new VariableDeclarationStatement(v.getType().clone(), v.getName(), Expression.MYSTERY_OFFSET); final VariableInitializer initializer = new VariableInitializer(v.getName()); final Expression right = replacedAssignment.getRight(); final AstNode parent = replacedAssignment.getParent();
final BlockStatement block = (BlockStatement) v.getInsertionPoint().getParent(); final AnalysisResult analysisResult = analyze(v, block); final VariableDeclarationStatement declaration = new VariableDeclarationStatement(v.getType().clone(), v.getName(), Expression.MYSTERY_OFFSET); final VariableInitializer initializer = new VariableInitializer(v.getName()); final Expression right = replacedAssignment.getRight(); final AstNode parent = replacedAssignment.getParent();