mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Check for cast-expression before checking for unary expression.
This commit is contained in:
parent
e4e1fe133d
commit
64399b14a2
2 changed files with 6 additions and 6 deletions
|
@ -174,12 +174,12 @@ public class Value implements IValue {
|
||||||
if (e instanceof IASTBinaryExpression) {
|
if (e instanceof IASTBinaryExpression) {
|
||||||
return evaluateBinaryExpression((IASTBinaryExpression) e, maxdepth);
|
return evaluateBinaryExpression((IASTBinaryExpression) e, maxdepth);
|
||||||
}
|
}
|
||||||
|
if (e instanceof IASTCastExpression) { // must be ahead of unary
|
||||||
|
return evaluate(((IASTCastExpression) e).getOperand(), maxdepth);
|
||||||
|
}
|
||||||
if (e instanceof IASTUnaryExpression) {
|
if (e instanceof IASTUnaryExpression) {
|
||||||
return evaluateUnaryExpression((IASTUnaryExpression) e, maxdepth);
|
return evaluateUnaryExpression((IASTUnaryExpression) e, maxdepth);
|
||||||
}
|
}
|
||||||
if (e instanceof IASTCastExpression) {
|
|
||||||
return evaluate(((IASTCastExpression) e).getOperand(), maxdepth);
|
|
||||||
}
|
|
||||||
if (e instanceof IASTConditionalExpression) {
|
if (e instanceof IASTConditionalExpression) {
|
||||||
IASTConditionalExpression cexpr= (IASTConditionalExpression) e;
|
IASTConditionalExpression cexpr= (IASTConditionalExpression) e;
|
||||||
Object o= evaluate(cexpr.getLogicalConditionExpression(), maxdepth);
|
Object o= evaluate(cexpr.getLogicalConditionExpression(), maxdepth);
|
||||||
|
|
|
@ -92,6 +92,9 @@ public abstract class VariableReadWriteFlags {
|
||||||
if (expr instanceof IASTBinaryExpression) {
|
if (expr instanceof IASTBinaryExpression) {
|
||||||
return rwInBinaryExpression(node, (IASTBinaryExpression) expr, indirection);
|
return rwInBinaryExpression(node, (IASTBinaryExpression) expr, indirection);
|
||||||
}
|
}
|
||||||
|
if (expr instanceof IASTCastExpression) { // must be ahead of unary
|
||||||
|
return rwAnyNode(expr, indirection);
|
||||||
|
}
|
||||||
if (expr instanceof IASTUnaryExpression) {
|
if (expr instanceof IASTUnaryExpression) {
|
||||||
return rwInUnaryExpression(node, (IASTUnaryExpression) expr, indirection);
|
return rwInUnaryExpression(node, (IASTUnaryExpression) expr, indirection);
|
||||||
}
|
}
|
||||||
|
@ -101,9 +104,6 @@ public abstract class VariableReadWriteFlags {
|
||||||
}
|
}
|
||||||
return READ;
|
return READ;
|
||||||
}
|
}
|
||||||
if (expr instanceof IASTCastExpression) {
|
|
||||||
return rwAnyNode(expr, indirection);
|
|
||||||
}
|
|
||||||
if (expr instanceof IASTConditionalExpression) {
|
if (expr instanceof IASTConditionalExpression) {
|
||||||
if (node.getPropertyInParent() == IASTConditionalExpression.LOGICAL_CONDITION) {
|
if (node.getPropertyInParent() == IASTConditionalExpression.LOGICAL_CONDITION) {
|
||||||
return READ;
|
return READ;
|
||||||
|
|
Loading…
Add table
Reference in a new issue