Package ru.ispras.verilog.parser.model
Class VerilogPathDeclaration
- 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.VerilogPathDeclaration
-
public final class VerilogPathDeclaration extends VerilogNode
VerilogPathDeclaration
represents path declarations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VerilogPathDeclaration.Type
VerilogPathDeclaration.Type
contains the path declaration 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
-
Constructor Summary
Constructors Constructor Description VerilogPathDeclaration(VerilogNode parent)
Creates a path declaration.VerilogPathDeclaration(VerilogPathDeclaration other, VerilogNode parent)
Creates a copy of path declaration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VerilogPathDeclaration
clone()
Clones the symbol table.VerilogDelay
getDelay()
Returns the path delay value (only forSIMPLE
).VerilogPathDescription
getDescription()
Returns the path description (only forSIMPLE
).VerilogExpression
getExpression()
Returns the condition of the path declaration (only forIF
).VerilogPathDeclaration
getThen()
Returns the child path declaration (only forIF
andIF_NONE
).VerilogPathDeclaration.Type
getType()
Returns the type of the path declaration.boolean
isIf()
Checks whether the path declaration isIF
.boolean
isIfNone()
Checks whether the path declaration isIF_NONE
.void
setDelay(VerilogDelay delay)
Sets the path delay value (only forSIMPLE
).void
setDescription(VerilogPathDescription description)
Sets the path description (only forSIMPLE
).void
setExpression(VerilogExpression expression)
Sets the condition of the path declaration (only forIF
).void
setIf()
Sets the path declaration type toIF
.void
setIfNone()
Sets the path declaration type toIF_NONE
.void
setThen(VerilogPathDeclaration then)
Sets the child path declaration (only forIF
).void
setType(VerilogPathDeclaration.Type type)
Sets the type of the path declaration.-
Methods inherited from class ru.ispras.verilog.parser.model.VerilogNode
getAttributes, getParentNode, isActivity, isAssertionStatement, isAssign, 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
-
VerilogPathDeclaration
public VerilogPathDeclaration(VerilogNode parent)
Creates a path declaration.- Parameters:
parent
- the parent node.
-
VerilogPathDeclaration
public VerilogPathDeclaration(VerilogPathDeclaration other, VerilogNode parent)
Creates a copy of path declaration.- Parameters:
other
- the path declaration to be copied.parent
- the parent node.
-
-
Method Detail
-
getType
public VerilogPathDeclaration.Type getType()
Returns the type of the path declaration.- Returns:
- the path declaration type.
-
setType
public void setType(VerilogPathDeclaration.Type type)
Sets the type of the path declaration.- Parameters:
type
- the type to be set.
-
isIf
public boolean isIf()
Checks whether the path declaration isIF
.- Returns:
true
iff the path declaration isIF
.
-
isIfNone
public boolean isIfNone()
Checks whether the path declaration isIF_NONE
.- Returns:
true
iff the path declaration isIF_NONE
.
-
setIf
public void setIf()
Sets the path declaration type toIF
.
-
setIfNone
public void setIfNone()
Sets the path declaration type toIF_NONE
.
-
getExpression
public VerilogExpression getExpression()
Returns the condition of the path declaration (only forIF
).- Returns:
- the condition.
-
setExpression
public void setExpression(VerilogExpression expression)
Sets the condition of the path declaration (only forIF
).- Parameters:
expression
- the condition to be set.
-
getDescription
public VerilogPathDescription getDescription()
Returns the path description (only forSIMPLE
).- Returns:
- the path description.
-
setDescription
public void setDescription(VerilogPathDescription description)
Sets the path description (only forSIMPLE
).- Parameters:
description
- the description to be set.
-
getDelay
public VerilogDelay getDelay()
Returns the path delay value (only forSIMPLE
).- Returns:
- the path delay value.
-
setDelay
public void setDelay(VerilogDelay delay)
Sets the path delay value (only forSIMPLE
).- Parameters:
delay
- the delay to be set.
-
getThen
public VerilogPathDeclaration getThen()
Returns the child path declaration (only forIF
andIF_NONE
).- Returns:
- the child path declaration.
-
setThen
public void setThen(VerilogPathDeclaration then)
Sets the child path declaration (only forIF
).- Parameters:
then
- the declaration to be set.
-
clone
public VerilogPathDeclaration clone()
Description copied from class:AbstractSymbolTable
Clones the symbol table.- Specified by:
clone
in classVerilogNode
- Returns:
- a copy of the symbol table.
-
-