Uses of Interface
dev.civl.mc.model.IF.type.CIVLType
Packages that use CIVLType
Package
Description
Module dynamic provides general computations of symbolic expressions,
including the pretty printing method.
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.
Submodule model.type defines types in CIVL.
Submodule model.variable defines variables in CIVL.
Module semantics implements the semantics of CIVL-C.
-
Uses of CIVLType in dev.civl.mc.dynamic.IF
Methods in dev.civl.mc.dynamic.IF with parameters of type CIVLTypeModifier and TypeMethodDescriptiondev.civl.sarl.IF.expr.valueSetReference.ValueSetReferenceValueSetUtility.getVSReferenceToSequenceOrNoop(CIVLType variableOrMallocElementType, boolean isMallocElementType, dev.civl.sarl.IF.expr.valueSetReference.ValueSetReference vsRef) This method over-approximatesvsRefif it references into sequence elements. -
Uses of CIVLType in dev.civl.mc.model.IF
Methods in dev.civl.mc.model.IF that return CIVLTypeModifier and TypeMethodDescriptionCIVLTypeFactory.getStaticTypeOfDynamicType(dev.civl.sarl.IF.expr.SymbolicExpression typeId) Given a symbolic expression returned by the methodCIVLTypeFactory.expressionOfType(dev.civl.mc.model.IF.type.CIVLType, dev.civl.sarl.IF.type.SymbolicType), this returns theCIVLTypewhich is associated to the dynamic type that was used to create the given expression.Model.mesageType()Model.queueType()CIVLTypeFactory.rangeType()Returns the range type of the system.CIVLFunction.returnType()CIVLTypeFactory.systemType(String name) Obtains the CIVL type by the given name.Methods in dev.civl.mc.model.IF with parameters of type CIVLTypeModifier and TypeMethodDescriptionModelFactory.abstractFunction(CIVLSource source, Identifier name, Scope parameterScope, List<Variable> parameters, CIVLType returnType, Scope containingScope, int continuity, String attribute) Generate an abstract function.voidCIVLTypeFactory.addHeapFieldObjectType(CIVLType type, int id) Add the given type as the object type of one of the heap field.voidCIVLTypeFactory.addSystemType(String name, CIVLType type) Added a type in map of system type, which is the map of types of system libraries, e.g., $gcomm/$comm for comm, $file for stdio, $gbarrier/$barrier for concurrency, etc.ModelFactory.boundVariableExpression(CIVLSource source, Identifier name, CIVLType type) An expression for a bound variable.ModelFactory.castExpression(CIVLSource source, CIVLType type, Expression expression) Create a cast expressionCIVLTypeFactory.civlSetType(CIVLType elementType) Returns theCIVLSetType.CIVLTypeFactory.completeArrayType(CIVLType elementType, Expression extent) Returns a new complete array type with specified extent (length expression) and element type.CIVLTypeFactory.completeDomainType(CIVLType rangeType, int dim) Creates a complete regular domain type, which is has the given dimension and is composed by the given range type.ModelFactory.compoundLiteralExpression(CIVLSource source, Scope exprScope, CIVLType type, boolean isStringLiteral) Creates a new instance of a compound literal expression.CIVLTypeFactory.domainType(CIVLType rangeType) This returns the universal domain type ($domain).ModelFactory.dynamicTypeOfExpression(CIVLSource source, CIVLType type) Returns a "DynamicTypeOf" expression with the given type argument.dev.civl.sarl.IF.expr.SymbolicExpressionCIVLTypeFactory.expressionOfType(CIVLType civlType, dev.civl.sarl.IF.type.SymbolicType type) Given a symbolic type, returns a canonical symbolic expression which somehow wraps that type so it can be used as a value.ModelFactory.extendedQuantifiedExpression(CIVLSource source, CIVLType type, dev.civl.abc.ast.node.IF.acsl.ExtendedQuantifiedExpressionNode.ExtendedQuantifier quant, Expression lo, Expression hi, Expression function) ModelFactory.function(CIVLSource source, boolean isAtomic, Identifier name, Scope parameterScope, List<Variable> parameters, CIVLType returnType, Scope containingScope, Location startLocation) Create a new function.CIVLTypeFactory.functionType(CIVLType returnType, CIVLType[] paraTypes) Creates a new instance of function type, which contains a return type and a list of parameter types.intCIVLTypeFactory.getHeapFieldId(CIVLType type) Returns the type of the heap field of the given index.CIVLTypeFactory.incompleteArrayType(CIVLType elementType) Get a new incomplete array type.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.mallocStatement(CIVLSource civlSource, Location source, LHSExpression lhs, CIVLType staticElementType, Expression scopeExpression, Expression sizeExpression, int mallocId, Expression guard) Create a new malloc statementModelFactory.memoryUnitExpression(CIVLSource source, Variable variable, CIVLType objetType, MemoryUnitReference reference, boolean writable, boolean hasPinterRef) creates a memory unit expression.ModelFactory.newAnonymousVariable(CIVLSource sourceOf, Scope scope, CIVLType type) Create a variable of the given type and add it to the given scope.ModelFactory.nondetFunction(CIVLSource source, Identifier name, CIVLType returnType, Scope containingScope) ModelFactory.parProcsVariable(CIVLSource source, CIVLType type, Scope scope) CIVLTypeFactory.pointerType(CIVLType baseType) Get a new pointer type.ModelFactory.recDomainLiteralExpression(CIVLSource source, List<Expression> ranges, CIVLType type) Create a rectangular domain expression, which has the form{r1, r2, ..., rm}, wheremis the dimension of the domain, andri (where 1 invalid input: '<'= i invalid input: '<'= m)is a range expression (either regular range or literal range).voidModel.setMessageType(CIVLType messageType) voidCIVLFunction.setParameterTypes(CIVLType[] types) updates the types of the parameters of this functionvoidModel.setQueueType(CIVLType queueType) voidCIVLFunction.setReturnType(CIVLType returnType) updates the return type of this functionModelFactory.sizeofTypeExpression(CIVLSource source, CIVLType type) Returns a new "sizeof(t)" expression.CIVLTypeFactory.structField(Identifier name, CIVLType type, int index, boolean isAnonymous, CIVLStructOrUnionType enclosingType) Returns a new struct field, used to complete a struct type.ModelFactory.systemFunction(CIVLSource source, Identifier name, Scope parameterScope, List<Variable> parameters, CIVLType returnType, Scope containingScope, String libraryName) Generate the system functionModelFactory.variable(CIVLSource source, CIVLType type, Identifier name, int vid) Create a new variable.ModelFactory.variableAsParameter(CIVLSource source, CIVLType type, Identifier name, int vid) Create a new variable which is also a parameter of some function.ModelFactory.wildcardExpression(CIVLSource source, CIVLType type) Creates a wildcard expression..., which is only used in contract.Method parameters in dev.civl.mc.model.IF with type arguments of type CIVLTypeModifier and TypeMethodDescriptionvoidCIVLTypeFactory.completeBundleType(CIVLBundleType bundleType, List<CIVLType> eleTypes, Collection<dev.civl.sarl.IF.type.SymbolicType> types) Completes the bundle type by specifying the list of all dynamic types which can occur as bundle elements. -
Uses of CIVLType in dev.civl.mc.model.IF.expression
Methods in dev.civl.mc.model.IF.expression that return CIVLTypeModifier and TypeMethodDescriptionCastExpression.getCastType()Expression.getExpressionType()DynamicTypeOfExpression.getType()SizeofTypeExpression.getTypeArgument()Returns the CIVL type, which is the sole argument of the sizeof operator.AddressOfExpression.getTypeForOffset()MemoryUnitExpression.objectType()CompoundLiteralExpression.CIVLLiteralObject.type()CompoundLiteralExpression.type()Methods in dev.civl.mc.model.IF.expression with parameters of type CIVLTypeModifier and TypeMethodDescriptionCompoundLiteralExpression.createCompoundLiteralObject(CIVLType type, List<CompoundLiteralExpression.CIVLLiteralObject> elements) CompoundLiteralExpression.createScalarLiteralObject(CIVLType type, Expression expr) voidFunctionCallExpression.setExpressionType(CIVLType returnType) voidAddressOfExpression.setTypeForOffset(CIVLType type) -
Uses of CIVLType in dev.civl.mc.model.IF.statement
Methods in dev.civl.mc.model.IF.statement that return CIVLTypeModifier and TypeMethodDescriptionMallocStatement.getStaticElementType()Returns the static type of the elements that are to be allocated. -
Uses of CIVLType in dev.civl.mc.model.IF.type
Subinterfaces of CIVLType in dev.civl.mc.model.IF.typeModifier and TypeInterfaceDescriptioninterfaceThe type for an array of T.interfaceinterfaceThe type for an array of T where the extent is specified.interfaceinterfaceThis is the only one CIVLDomainType associated to the $domain type in program.interfaceAn enumeration type.interfaceinterfaceinterfaceACIVLTyperepresenting a set of memory locations.interfaceType of a pointer.interfaceA primitive type is a type of which there is only one instance.interfaceinterfaceThe $scope type in the CIVL-C language.interfaceACIVLTyperepresenting a set of a non-set kind CIVLType.interfaceinterfaceRepresents a "record" type (i.e.Methods in dev.civl.mc.model.IF.type that return CIVLTypeModifier and TypeMethodDescriptionCIVLPointerType.baseType()Returns the type of element pointed to.CIVLType.copyAs(CIVLPrimitiveType type, dev.civl.sarl.IF.SymbolicUniverse universe) CIVLArrayType.elementType()CIVLSetType.elementType()CIVLBundleType.getStaticElementType(int index) CIVLType[]CIVLFunctionType.parameterTypes()CIVLFunctionType.returnType()StructOrUnionField.type()Methods in dev.civl.mc.model.IF.type that return types with arguments of type CIVLTypeMethods in dev.civl.mc.model.IF.type with parameters of type CIVLTypeModifier and TypeMethodDescriptionbooleanCIVLType.isSetTypeOf(CIVLType elementType) booleanCIVLType.isSuperTypeOf(CIVLType subtype) Is this type the super type of the given sub-type? If subtype is the same as this type, return true.voidCIVLFunctionType.setParameterTypes(CIVLType[] types) voidCIVLFunctionType.setReturnType(CIVLType type) Method parameters in dev.civl.mc.model.IF.type with type arguments of type CIVLTypeModifier and TypeMethodDescriptionvoidCIVLBundleType.complete(List<CIVLType> types, Collection<dev.civl.sarl.IF.type.SymbolicType> elementTypes, dev.civl.sarl.IF.type.SymbolicUnionType dynamicType) -
Uses of CIVLType in dev.civl.mc.model.IF.variable
Methods in dev.civl.mc.model.IF.variable that return CIVLTypeMethods in dev.civl.mc.model.IF.variable with parameters of type CIVLType -
Uses of CIVLType in dev.civl.mc.semantics.IF
Methods in dev.civl.mc.semantics.IF that return CIVLTypeModifier and TypeMethodDescriptionSymbolicAnalyzer.civlTypeOfObjByPointer(CIVLSource soruce, State state, dev.civl.sarl.IF.expr.SymbolicExpression pointer) Computes the CIVL type of the object referring to by the given pointer.SymbolicAnalyzer.getArrayBaseType(State state, CIVLSource source, dev.civl.sarl.IF.expr.SymbolicExpression arrayPtr) pre-condition: "arrayPtr" must point to an array "source" is the @{link CIVLSource} of the pointer expression post-condition: the returnedCIVLTypemust not be an array type the returned object cannot be null Get the type of the non-array element of an array by given a pointer to an arrayMethods in dev.civl.mc.semantics.IF with parameters of type CIVLTypeModifier and TypeMethodDescriptionEvaluator.evaluateCastWorker(State state, int pid, String process, CIVLType castType, Expression arg) Evaluator.evaluateSizeofType(CIVLSource source, State state, int pid, CIVLType type) Evaluate the size of a CIVL type.Evaluator.getDynamicType(State state, int pid, CIVLType type, CIVLSource source, boolean isDefinition) Evaluates the dynamic type of a given CIVL type at a certain state.Evaluator.initialValueOfType(State state, int pid, CIVLType type) Given aCIVLTypet, returns the default initial value of an object of t as if the object has static storage.List<dev.civl.sarl.IF.expr.ReferenceExpression> Evaluator.leafNodeReferencesOfType(CIVLSource source, State state, int pid, CIVLType type) Executor.malloc(CIVLSource source, State state, int pid, String process, Expression scopeExpression, dev.civl.sarl.IF.expr.SymbolicExpression scopeValue, CIVLType objectType, dev.civl.sarl.IF.expr.SymbolicExpression objectValue) Adds a new object to the heap of a certain scope; returns the pointer of the object in the heap.SymbolicAnalyzer.symbolicExpressionToString(CIVLSource source, State state, CIVLType type, dev.civl.sarl.IF.expr.SymbolicExpression symbolicExpression) Computes the user-friendly string representation of a symbolic expression.