Uses of Interface
dev.civl.mc.model.IF.expression.ConditionalExpression
Packages that use ConditionalExpression
Package
Description
Module model defines a static model, i.e., the control flow graph, representation of a CIVL-C program.
Submodule model.expression defines expression in CIVL.
Submodule model.statement defines a statement of a CIVL-C program.
-
Uses of ConditionalExpression in dev.civl.mc.model.IF
Methods in dev.civl.mc.model.IF that return ConditionalExpressionModifier and TypeMethodDescriptionModelFactory.conditionalExpression(CIVLSource source, Expression condition, Expression trueBranch, Expression falseBranch) The ternary conditional expression ("?" in C). -
Uses of ConditionalExpression in dev.civl.mc.model.IF.expression
Methods in dev.civl.mc.model.IF.expression with parameters of type ConditionalExpressionModifier and TypeMethodDescriptionExpression.replaceWith(ConditionalExpression oldExpression, Expression newExpression) Attempt to create a expression by replacing a certain conditional expression with a new expression, used when translating away conditional expressions without introduction temporal variablevoidExpression.replaceWith(ConditionalExpression oldExpression, VariableExpression newExpression) Replace a certain conditional expression with a variable expression. -
Uses of ConditionalExpression in dev.civl.mc.model.IF.statement
Methods in dev.civl.mc.model.IF.statement with parameters of type ConditionalExpressionModifier and TypeMethodDescriptionCallOrSpawnStatement.replaceWith(ConditionalExpression oldExpression, Expression newExpression) Statement.replaceWith(ConditionalExpression oldExpression, Expression newExpression) Return a new statement by copying this statement and modifying it as well as its guard by replacing a certain conditional expression with a expression, used when translating away conditional expression WITHOUT introducing temporary variables.voidStatement.replaceWith(ConditionalExpression oldExpression, VariableExpression newExpression) Modify this statement including its guard by replacing a certain conditional expression with a variable expression, used when translating away conditional expression and a temporal variable is introduced.
For example,x = a ? b : cwill be translated intoif(a) v0 = b; else v0 = c; x = v0;
Another example,$when(a?b:c) x = k;will be translated intoif(a) v0 = b; else v0 = c; $when(v0) x = k;