void visitNode(LighterASTNode element) {
    IElementType type = element.getTokenType();

    if (type == TokenType.ERROR_ELEMENT) {
      hasErrors = true;
    }
    else if (type == RETURN_STATEMENT) {
      LighterASTNode value = findExpressionChild(tree, element);
      if (value == null) {
        hasErrors = true;
      }
      else {
        myReturnValue = ReturnValue.merge(myReturnValue, getExpressionValue(value));
      }
    }
    else if (type == METHOD_CALL_EXPRESSION) {
      LighterASTNode reference = findExpressionChild(tree, element);
      if ("exit".equals(getNameIdentifierText(tree, reference))) {
        LighterASTNode qualifier = findExpressionChild(tree, reference);
        if ("System".equals(getNameIdentifierText(tree, qualifier)) && findExpressionChild(tree, qualifier) == null) {
          hasSystemExit = true;
        }
      }
    }
  }
void visitNode(LighterASTNode element)