Uses of Interface
dev.civl.mc.model.IF.variable.Variable
Packages that use Variable
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.location defines a location in the control flow graph of CIVL.
Submodule model.statement defines a statement of a CIVL-C program.
Submodule model.type defines types in CIVL.
Module state is responsible for the creation and manipulation of
states of a CIVL model.
-
Uses of Variable in dev.civl.mc.model.IF
Methods in dev.civl.mc.model.IF that return VariableModifier and TypeMethodDescriptionModelFactory.brokenTimeVariable()If a variable is already included in this scope, return the included variable.ModelFactory.newAnonymousVariable(CIVLSource sourceOf, Scope scope, CIVLType type) Create a variable of the given type and add it to the given scope.ModelFactory.newAnonymousVariableForArrayLiteral(CIVLSource sourceOf, Scope scope, CIVLArrayType type) Creates an anonymous variable of array type in a certain scope.ModelFactory.newAnonymousVariableForConstantArrayLiteral(CIVLSource sourceOf, CIVLArrayType type, dev.civl.sarl.IF.expr.SymbolicExpression value) Creates an anonymous variable of array type in the static constant scope.ModelFactory.timeCountVariable()ModelFactory.variable(CIVLSource source, CIVLType type, Identifier name, int vid) Create a new variable.Scope.variable(int vid) Get the variable at the specified array index.Scope.variable(Identifier name) Get the variable associated with an identifier.ModelFactory.variableAsParameter(CIVLSource source, CIVLType type, Identifier name, int vid) Create a new variable which is also a parameter of some function.Variable[]Scope.variables()Important notice: Never ever modify the variable!Methods in dev.civl.mc.model.IF that return types with arguments of type VariableModifier and TypeMethodDescriptionModel.externVariables()CIVLFunction.getAccessesAtomicFunction()ModelFactory.inputVariables()Model.outputVariables()Return the output variables of this model, which all belong to the root scope.CIVLFunction.parameters()CIVLFunction.variableAddressedOf()returns the variables that are used as the operand of the address-of operator.CIVLFunction.variableAddressedOf(Scope scope) returns the variables that are used as the operand of the address-of operator and are visible from the given lexical scope.Scope.variablesWithPointers()A variable contains a pointer type if it is of type PointerType, if it is an array with elements containing pointer type, or if it is a struct with fields containing pointer type.Scope.variablesWithProcrefs()A variables has a "procRefType" if it is of type Process, if it is an array with element of procRefType, or if it is a struct with fields of procRefType.Scope.variablesWithScoperefs()A variables has a "scopeRefType" if it is of type Scope, if it is an array with element of scopeRefType, if it is a struct with fields of scopeRefType, or if it contains a pointer.Scope.variablesWithStaterefs()A variables has a "$state" type, if it is of type $state, if it is an array with element of type $state, or if it is a struct with fields of type $state.Scope.varsNeedSymbolicConstant()A variable whose type is not a primitive type.Methods in dev.civl.mc.model.IF with parameters of type VariableModifier and TypeMethodDescriptionvoidModelFactory.addInputVariable(Variable variable) voidScope.addVariable(Variable variable) A new variable in this scope.ModelFactory.civlForEnterFragment(CIVLSource source, Location src, Expression dom, List<Variable> variables, Variable counter) Returns a new fragment containing a CivlForStatement.If a variable is already included in this scope, return the included variable.ModelFactory.domainGuard(CIVLSource source, List<Variable> vars, Variable counter, Expression domain) Returns a domain guard expression which is boolean expression whose arguments consists of loop variables in a CIVL$forloop and the original domain associate to the loop.intstatic StringLogicFunction.heapVariableName(Variable formal) ModelFactory.initialValueExpression(CIVLSource source, Variable variable) Returns an "initial value" expression for the given variable.ModelFactory.lambdaExpression(CIVLSource source, CIVLFunctionType functionType, Variable variable, Expression expression) Creates a new lambda expression.ModelFactory.memoryUnitExpression(CIVLSource source, Variable variable, CIVLType objetType, MemoryUnitReference reference, boolean writable, boolean hasPinterRef) creates a memory unit expression.ModelFactory.variableExpression(CIVLSource source, Variable variable) A variable expression.Method parameters in dev.civl.mc.model.IF with type arguments of type VariableModifier and TypeMethodDescriptionModelFactory.abstractFunction(CIVLSource source, Identifier name, Scope parameterScope, List<Variable> parameters, CIVLType returnType, Scope containingScope, int continuity, String attribute) Generate an abstract function.ModelFactory.arrayLambdaExpression(CIVLSource source, CIVLArrayType arrayType, List<Pair<List<Variable>, Expression>> boundVariableList, Expression restriction, Expression expression) Creates a new array lambda expression.ModelFactory.civlForEnterFragment(CIVLSource source, Location src, Expression dom, List<Variable> variables, Variable counter) Returns a new fragment containing a CivlForStatement.ModelFactory.derivativeCallExpression(CIVLSource source, AbstractFunction function, List<Pair<Variable, IntegerLiteralExpression>> partials, List<Expression> arguments) An expression for a call to the derivative of an abstract function.ModelFactory.domainGuard(CIVLSource source, List<Variable> vars, Variable counter, Expression domain) Returns a domain guard expression which is boolean expression whose arguments consists of loop variables in a CIVL$forloop and the original domain associate to the loop.ModelFactory.function(CIVLSource source, boolean isAtomic, Identifier name, Scope parameterScope, List<Variable> parameters, CIVLType returnType, Scope containingScope, Location startLocation) Create a new function.ModelFactory.logicFunction(CIVLSource source, Identifier name, Scope parameterScope, List<Variable> parameters, CIVLType outputType, int[] pointerToHeapMap, Scope containingScope, Expression definition) Create a new logic function (LogicFunction).ModelFactory.quantifiedExpression(CIVLSource source, QuantifiedExpression.Quantifier quantifier, List<Pair<List<Variable>, Expression>> boundVariableList, Expression restriction, Expression expression) Creates a new quantified expression.ModelFactory.scope(CIVLSource source, Scope parent, List<Variable> variables, CIVLFunction function) Create a new scope.voidCIVLFunction.setAccessesAtomicFunction(Set<Variable> set) voidModel.setExternVariables(Map<String, Variable> externVariables) voidCIVLFunction.setParameters(List<Variable> parameters) voidScope.setVariables(Set<Variable> variables) ModelFactory.systemFunction(CIVLSource source, Identifier name, Scope parameterScope, List<Variable> parameters, CIVLType returnType, Scope containingScope, String libraryName) Generate the system function -
Uses of Variable in dev.civl.mc.model.IF.expression
Methods in dev.civl.mc.model.IF.expression that return VariableModifier and TypeMethodDescriptionLambdaExpression.freeVariable()TODO: shouldn't this be called the "bound variable"? It is the opposite of free.DomainGuardExpression.getLiteralDomCounter()The counter variable for iterating a literal domain step by step.InitialValueExpression.variable()MemoryUnitExpression.variable()VariableExpression.variable()DomainGuardExpression.variableAt(int index) Returns the iteration variable of the given index.LHSExpression.variableWritten()Return the variable that is possible the left hand side of an assignment statement.LHSExpression.variableWritten(Scope scope) Return the variable that is visible from the given scope, which is possible the left hand side of an assignment statement.Methods in dev.civl.mc.model.IF.expression that return types with arguments of type VariableModifier and TypeMethodDescriptionArrayLambdaExpression.boundVariableList()The list of bound variables.QuantifiedExpression.boundVariableList()The list of bound variables.Expression.freeVariables()Computes the set of variables which occur freely in this expression.DerivativeCallExpression.partials()Expression.variableAddressedOf()Compute the set of variables that appear in an address-of expression.Expression.variableAddressedOf(Scope scope) Compute the set of variables visible from a certain scope that appear in an address-of expression.Methods in dev.civl.mc.model.IF.expression with parameters of type Variable -
Uses of Variable in dev.civl.mc.model.IF.location
Methods in dev.civl.mc.model.IF.location that return types with arguments of type VariableMethod parameters in dev.civl.mc.model.IF.location with type arguments of type VariableModifier and TypeMethodDescriptionvoidLocation.computeWritableVariables(Set<Variable> addressedOfVariables) -
Uses of Variable in dev.civl.mc.model.IF.statement
Methods in dev.civl.mc.model.IF.statement that return VariableModifier and TypeMethodDescriptionDomainIteratorStatement.getLiteralDomCounter()Returns a counter variable used for iterating on a literal domain step by step.Methods in dev.civl.mc.model.IF.statement that return types with arguments of type VariableModifier and TypeMethodDescriptionStatement.freeVariables()Returns all free (not bound) variables that are referenced in this statement.AtomicLockAssignStatement.getVariables()Returns the set of all external variables that could be accessed in an execution of an atomic block.DomainIteratorStatement.loopVariables()Returns the list of loop variables, ordered from left to right.Statement.variableAddressedOf()Obtain the set of variables whose addresses are referenced.Statement.variableAddressedOf(Scope scope) Obtain the set of variables visible from a certain scope that are possible to be written in the future. -
Uses of Variable in dev.civl.mc.model.IF.type
Methods in dev.civl.mc.model.IF.type that return VariableModifier and TypeMethodDescriptionCIVLType.getStateVariable()If a type is defined using a struct, union, or typedef, and it contains state, it may have to be evaluated and stored in a variable of type CIVLDynamicType.Methods in dev.civl.mc.model.IF.type that return types with arguments of type VariableMethods in dev.civl.mc.model.IF.type with parameters of type VariableModifier and TypeMethodDescriptionvoidCIVLType.setStateVariable(Variable variable) Sets this type's state variable to the given variable -
Uses of Variable in dev.civl.mc.state.IF
Methods in dev.civl.mc.state.IF that return types with arguments of type VariableModifier and TypeMethodDescriptionStateFactory.inputVariableValueMap(State state) Returns the map of input variable and their value at the given state; empty map if there are no input variables.Methods in dev.civl.mc.state.IF with parameters of type VariableModifier and TypeMethodDescriptionintState.getDyscopeID(int pid, Variable variable) Given a process ID and a variable, finds the first dyscope containing the variable in the path starting from the dyscope of the current (top) frame of the process call stack and following the parent edges of the dyscope tree.StateFactory.setVariable(State state, Variable variable, int pid, dev.civl.sarl.IF.expr.SymbolicExpression value) Updates the value assigned to a variable in the state.dev.civl.sarl.IF.expr.SymbolicExpressionGiven a process ID and a variable, returns the value of the variable.