Package ru.ispras.verilog.parser.model
Class VerilogAssignStatement
- java.lang.Object
-
- ru.ispras.verilog.parser.core.AbstractSymbolTable<Tag>
-
- ru.ispras.verilog.parser.core.AbstractNode<VerilogNode.Tag>
-
- ru.ispras.verilog.parser.model.VerilogNode
-
- ru.ispras.verilog.parser.model.VerilogStatement
-
- ru.ispras.verilog.parser.model.VerilogAssignStatement
-
public final class VerilogAssignStatement extends VerilogStatement
VerilogAssignment
represents assignment statements.There are the following assignment statements:
=
(blocking);<=
(non-blocking);assign
;deassign
;force
;release
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VerilogAssignStatement.Type
VerilogAssignStatement.Type
contains the assignment statement types.-
Nested classes/interfaces inherited from class ru.ispras.verilog.parser.model.VerilogNode
VerilogNode.Tag
-
Nested classes/interfaces inherited from class ru.ispras.verilog.parser.core.AbstractNode
AbstractNode.NodeKind
-
-
Field Summary
Fields Modifier and Type Field Description static VerilogNode.Tag
TAG
static java.util.EnumSet<VerilogNode.Tag>
TAGS_CHILDREN
-
Fields inherited from class ru.ispras.verilog.parser.model.VerilogStatement
TAGS
-
-
Constructor Summary
Constructors Constructor Description VerilogAssignStatement(VerilogAssignStatement other, VerilogNode parent)
Creates a copy of the assignment statement.VerilogAssignStatement(VerilogNode parent)
Creates an assignment statement.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VerilogAssignStatement
clone()
Clones the symbol table.VerilogAssignment
getAssignment()
Returns the assignment of the statement (the pair of l- and r-values).VerilogEventControl
getEventControl()
Returns the control of the statement (the delay or event).VerilogAssignStatement.Type
getType()
Returns the assignment statement type.boolean
isAssign()
Checks whether the statement isASSIGN
.boolean
isBlocking()
Checks whether the statement isBLOCKING
.boolean
isDeassign()
Checks whether the statement isDEASSIGN
.boolean
isForce()
Checks whether the statement isFORCE
.boolean
isNonBlocking()
Checks whether the statement isNON_BLOCKING
.boolean
isRelease()
Checks whether the statement isRELEASE
.void
setAssign()
Sets the type of the statement toASSIGN
.void
setAssignment(VerilogAssignment assignment)
Sets the assignment of the statement (the pair of l- and r-values).void
setBlocking()
Sets the type of the statement toBLOCKING
.void
setDeassign()
Sets the type of the statement toDEASSIGN
.void
setEventControl(VerilogEventControl control)
Sets the control of the statement (the delay or event).void
setForce()
Sets the type of the statement toFORCE
.void
setNonBlocking()
Sets the type of the statement toNON_BLOCKING
.void
setRelease()
Sets the type of the statement toRELEASE
.void
setType(VerilogAssignStatement.Type type)
Sets the assignment statement type.-
Methods inherited from class ru.ispras.verilog.parser.model.VerilogNode
getAttributes, getParentNode, isActivity, isAssertionStatement, isAssignment, isAssignStatement, isAttribute, isBlockGenerate, isBlockStatement, isCaseGenerate, isCaseGenerateItem, isCaseStatement, isCaseStatementItem, isCode, isConnection, isDeclaration, isDelayedStatement, isDisableStatement, isGenerate, isIfGenerate, isIfGenerateBranch, isIfStatement, isIfStatementBranch, isInstantiation, isLoopGenerate, isLoopStatement, isModule, isNullStatement, isPathDeclaration, isPort, isPortConnection, isProcedure, isPropertyDeclaration, isPulseStyle, isSequenceDeclaration, isShowCancelled, isSpecify, isSvaPort, isTable, isTableEntry, isTaskStatement, isTriggerStatement, isWaitStatement, setAttributes, union
-
Methods inherited from class ru.ispras.verilog.parser.core.AbstractNode
add, find, getFullName, getName, getParent, getTag, hasName, hasScope, isTransparent, items, items, items, remove, replace, setName, setParent, setRedefinitionHandler, setTag, toString
-
Methods inherited from class ru.ispras.verilog.parser.core.AbstractSymbolTable
addAll, findAroundRecursively, findAroundRecursively, findRecursively, findRecursively, getUpperTable, items, items, setUpperTable
-
-
-
-
Field Detail
-
TAG
public static final VerilogNode.Tag TAG
-
TAGS_CHILDREN
public static final java.util.EnumSet<VerilogNode.Tag> TAGS_CHILDREN
-
-
Constructor Detail
-
VerilogAssignStatement
public VerilogAssignStatement(VerilogNode parent)
Creates an assignment statement.- Parameters:
parent
- the node parent.
-
VerilogAssignStatement
public VerilogAssignStatement(VerilogAssignStatement other, VerilogNode parent)
Creates a copy of the assignment statement.- Parameters:
other
- the assignment statement to be copied.parent
- the parent node.
-
-
Method Detail
-
getType
public VerilogAssignStatement.Type getType()
Returns the assignment statement type.- Returns:
- the assignment statement type.
-
setType
public void setType(VerilogAssignStatement.Type type)
Sets the assignment statement type.- Parameters:
type
- the type to be set.
-
isBlocking
public boolean isBlocking()
Checks whether the statement isBLOCKING
.- Returns:
true
iff the statement isBLOCKING
.
-
isNonBlocking
public boolean isNonBlocking()
Checks whether the statement isNON_BLOCKING
.- Returns:
true
iff the statement isNON_BLOCKING
.
-
isAssign
public boolean isAssign()
Checks whether the statement isASSIGN
.- Overrides:
isAssign
in classVerilogNode
- Returns:
true
iff the statement isASSIGN
.
-
isDeassign
public boolean isDeassign()
Checks whether the statement isDEASSIGN
.- Returns:
true
iff the statement isDEASSIGN
.
-
isForce
public boolean isForce()
Checks whether the statement isFORCE
.- Returns:
true
iff the statement isFORCE
.
-
isRelease
public boolean isRelease()
Checks whether the statement isRELEASE
.- Returns:
true
iff the statement isRELEASE
.
-
setBlocking
public void setBlocking()
Sets the type of the statement toBLOCKING
.
-
setNonBlocking
public void setNonBlocking()
Sets the type of the statement toNON_BLOCKING
.
-
setAssign
public void setAssign()
Sets the type of the statement toASSIGN
.
-
setDeassign
public void setDeassign()
Sets the type of the statement toDEASSIGN
.
-
setForce
public void setForce()
Sets the type of the statement toFORCE
.
-
setRelease
public void setRelease()
Sets the type of the statement toRELEASE
.
-
getAssignment
public VerilogAssignment getAssignment()
Returns the assignment of the statement (the pair of l- and r-values).- Returns:
- the assignment.
-
setAssignment
public void setAssignment(VerilogAssignment assignment)
Sets the assignment of the statement (the pair of l- and r-values).- Parameters:
assignment
- the assignment to be set.
-
getEventControl
public VerilogEventControl getEventControl()
Returns the control of the statement (the delay or event).- Returns:
- the control.
-
setEventControl
public void setEventControl(VerilogEventControl control)
Sets the control of the statement (the delay or event).- Parameters:
control
- the control to be set.
-
clone
public VerilogAssignStatement clone()
Description copied from class:AbstractSymbolTable
Clones the symbol table.- Specified by:
clone
in classVerilogStatement
- Returns:
- a copy of the symbol table.
-
-