final ICompilerProject project = this.classScope.getProject();
ICodeGenerator codeGenerator = classScope.getGenerator();
IExpressionNode assignedValueNode = var.getAssignedValueNode();
IConstantValue constantValue = codeGenerator.generateConstantValue(assignedValueNode, project);
// initializer is null if no constant value
// can be generated, and null is the correct value for "no value."
Object initializer = constantValue != null ? constantValue.getValue() : null;
// Reducing the constant value may have produced problems in the
// LexicalScope used for constant reduction. Transfer them over
// to the LexicalScope for this class.
Collection<ICompilerProblem> problems = constantValue != null ? constantValue.getProblems() : null;
if (problems != null)
classScope.addProblems(problems);
final MethodBodySemanticChecker checker = new MethodBodySemanticChecker(this.classScope);