Я пытаюсь написать проверки пользовательских Klocwork для C++, однако IM застрял с вопросом:Доступ к левому или правому ребенку в пользовательском Klocwork Checker
Когда мы имеем выражение, как этот:
x = y + z;
Я хочу получить доступ к левому узлу, который является переменной «x», но и обе переменные из правого узла (слева и справа от правого узла). Я не знаю, как получить доступ к каждой переменной, пока у меня есть это в моей проверке:
// BinaryExpr [ getOperationCode() = KTC_OPCODE_ASSIGN]
[$exprL:= Left]
[$size1:= $exprL.getTypeSize()]
[$exprR:= Right]
[$exprR.getOperationCode() = KTC_OPCODE_ADD]
Что обнаруживает каждое BinaryExpression с другим выражением в левом узле (хранится в $ exprR), но после этого я не знаю, как получить доступ к левым и правым дочерним элементам из $ exprR.
Заранее благодарим за любую помощь!