final Token lastToken = node.getLastToken();
final int offset =
_context.getDocumentPosition() + firstToken.beginColumn - 1;
final int length = lastToken.endColumn - firstToken.beginColumn + 1;
final BracketOperator bracketOperator = new BracketOperator(_diagnosticFactory, _targetFile, _symbolResolver);
final Diagnostic diagnostic =
bracketOperator.validate(symbolType,
(ValueType)subExprType);
if (diagnostic.getSeverity() != Diagnostic.OK)
{
_reporter.report(diagnostic, offset, length);
((EvaluationTracker) data).setType(null);
}
else
{
((EvaluationTracker) data).setType(bracketOperator.performOperation(symbolType,
(ValueType)subExprType));
tracker.setCurMemberSymbol(offset, length);
}
}
// we are finished with the bracketed suffix at this point.