Uses of Interface
dev.civl.mc.model.IF.location.Location
Packages that use Location
Package
Description
Module model defines a static model, i.e., the control flow graph, representation of a CIVL-C program.
Submodule model.statement defines a statement of a CIVL-C program.
Module state is responsible for the creation and manipulation of
states of a CIVL model.
-
Uses of Location in dev.civl.mc.model.IF
Methods in dev.civl.mc.model.IF that return LocationModifier and TypeMethodDescriptionModelFactory.location(CIVLSource source, Scope scope) Create a new location.Model.sleepLocation()CIVLFunction.startLocation()Fragment.startLocation()Methods in dev.civl.mc.model.IF that return types with arguments of type LocationMethods in dev.civl.mc.model.IF with parameters of type LocationModifier and TypeMethodDescriptionvoidCIVLFunction.addLocation(Location location) ModelFactory.assignStatement(CIVLSource civlSource, Location source, LHSExpression lhs, Expression rhs, boolean isInitializer) An assignment statement.ModelFactory.atomicEnter(Location loc) Generate an atomic enter statementModelFactory.atomicExit(Location loc) Generate an atomic exit statementModelFactory.atomicFragment(Fragment fragment, Location start, Location end) Generate an atomic fragment based on a certain fragment, by adding one location at before and after the fragment to denote the boundary of the atomic blockModelFactory.callOrSpawnStatement(CIVLSource sourceOf, Location location, boolean isCall, Expression function, List<Expression> arguments, Expression guard, boolean isInitializer) Creates a call or spawn statement.ModelFactory.civlForEnterFragment(CIVLSource source, Location src, Expression dom, List<Variable> variables, Variable counter) Returns a new fragment containing a CivlForStatement.ModelFactory.civlParForEnterStatement(CIVLSource source, Location location, Expression domain, VariableExpression domSize, VariableExpression procsVar, CIVLFunction parProcFunc) creates a$parforenter statement to start the execution of the$parfor.voidModelFactory.computeImpactScopeOfLocation(Location location) Computes the impact scope of a location, which is the highest scope that the location accesses.ModelFactory.function(CIVLSource source, boolean isAtomic, Identifier name, Scope parameterScope, List<Variable> parameters, CIVLType returnType, Scope containingScope, Location startLocation) Create a new function.ModelFactory.gotoBranchStatement(CIVLSource civlSource, Location source, String label) A goto branch statement is of the formgoto label;.ModelFactory.ifElseBranchStatement(CIVLSource civlSource, Location source, Expression guard, boolean isIf) An if-else branch statement is introduced to translate if-else statement.ModelFactory.loopBranchStatement(CIVLSource civlSource, Location source, Expression guard, boolean isTrue, LoopContract loopContract) An loop branch statement is introduced when translating a loop.ModelFactory.loopContract(CIVLSource civlSource, Location loopLocation, List<Expression> loopInvariants, List<LHSExpression> loopAssigns, List<Expression> loopVariants) Creates aLoopContractinstanceModelFactory.mallocStatement(CIVLSource civlSource, Location source, LHSExpression lhs, CIVLType staticElementType, Expression scopeExpression, Expression sizeExpression, int mallocId, Expression guard) Create a new malloc statementModelFactory.noopStatement(CIVLSource civlSource, Location source, Expression expression) A noop statement with the default guard of true.ModelFactory.noopStatementForVariableDeclaration(CIVLSource civlSource, Location source) A temporary noop statement with the true guardModelFactory.noopStatementTemporary(CIVLSource civlSource, Location source) A temporary noop statement with the true guardModelFactory.noopStatementWtGuard(CIVLSource civlSource, Location source, Expression guard) A noop statement with an explicit guard expression.ModelFactory.returnFragment(CIVLSource civlSource, Location source, Expression expression, CIVLFunction function) Create a one-statement fragment that contains the return statement.voidModel.setSleepLocation(Location sleep) voidCIVLFunction.setStartLocation(Location startLocation) voidFragment.setStartLocation(Location location) Update the start location of this fragmentModelFactory.switchBranchStatement(CIVLSource civlSource, Location source, Expression guard) Creates a switch branch statement for the default case, which is a subclass of no-op statement.ModelFactory.switchBranchStatement(CIVLSource civlSource, Location source, Expression guard, Expression label) Creates a switch branch statement for a labeled case.voidFragment.updateStartLocation(Location newLocation) Update the start location with a new locationModelFactory.updateStatement(CIVLSource source, Location srcLoc, Expression guard, Expression collator, CIVLFunction function, Expression[] arguments) ModelFactory.updateStatement(CIVLSource source, Location srcLoc, Expression guard, Expression collator, CallOrSpawnStatement call) Creates an$updatestatement.Method parameters in dev.civl.mc.model.IF with type arguments of type Location -
Uses of Location in dev.civl.mc.model.IF.contract
Methods in dev.civl.mc.model.IF.contract that return LocationModifier and TypeMethodDescriptionLoopContract.loopLocation()Returns the location which identifies the corresponding loop.Methods in dev.civl.mc.model.IF.contract with parameters of type LocationModifier and TypeMethodDescriptionvoidLoopContract.setLocation(Location loopLocation) Set the location which identifies a loop statement. -
Uses of Location in dev.civl.mc.model.IF.statement
Methods in dev.civl.mc.model.IF.statement that return LocationMethods in dev.civl.mc.model.IF.statement with parameters of type LocationModifier and TypeMethodDescriptionvoidvoidStatement.setSourceTemp(Location source) updates the source location of this statement, but never add this statement to the outgoing set of the source locationvoidvoidStatement.setTargetTemp(Location target) updates the target location of this statement, but never add this statement to the incoming set of the target location -
Uses of Location in dev.civl.mc.state.IF
Methods in dev.civl.mc.state.IF that return LocationModifier and TypeMethodDescriptionProcessState.getLocation()Returns the location at the top of the call stack of this process.StackEntry.location()Returns the static location component of this activation frame.Methods in dev.civl.mc.state.IF with parameters of type LocationModifier and TypeMethodDescriptionStateFactory.setLocation(State state, int pid, Location location) Sets the location of a process.StateFactory.setLocation(State state, int pid, Location location, boolean accessChanged) Sets the location of a process.