@@ -92,7 +92,7 @@ class NumericLiteral : public Expression {
92
92
NumericLiteral (std::string value, unsigned int size)
93
93
: value(value), size(size), _signed(false ), radix(Radix::DECIMAL){};
94
94
95
- NumericLiteral (std::string value)
95
+ explicit NumericLiteral (std::string value)
96
96
: value(value), size(32 ), _signed(false ), radix(Radix::DECIMAL){};
97
97
98
98
NumericLiteral (std::string value, Radix radix)
@@ -133,7 +133,7 @@ class Identifier : public Expression {
133
133
public:
134
134
std::string value;
135
135
136
- Identifier (std::string value);
136
+ explicit Identifier (std::string value);
137
137
Identifier (const Identifier& rhs) : value(rhs.value){};
138
138
auto clone () const { return std::unique_ptr<Identifier>(clone_impl ()); }
139
139
@@ -161,9 +161,9 @@ class Attribute : public Expression {
161
161
162
162
Attribute (const Attribute& rhs)
163
163
: value(std::visit(
164
- [](auto && value ) -> std::variant<std::unique_ptr<Identifier>,
165
- std::unique_ptr<Attribute>> {
166
- return value ->clone ();
164
+ [](auto && val ) -> std::variant<std::unique_ptr<Identifier>,
165
+ std::unique_ptr<Attribute>> {
166
+ return val ->clone ();
167
167
},
168
168
rhs.value)),
169
169
attr (rhs.attr){};
@@ -187,7 +187,7 @@ class String : public Expression {
187
187
public:
188
188
std::string value;
189
189
190
- String (std::string value) : value(value){};
190
+ explicit String (std::string value) : value(value){};
191
191
String (const String& rhs) : value(rhs.value){};
192
192
193
193
std::string toString () override ;
@@ -252,10 +252,10 @@ class Index : public Expression {
252
252
std::unique_ptr<Slice>, std::unique_ptr<Index>>
253
253
clone_index_value () const {
254
254
return std::visit (
255
- [](auto && value )
255
+ [](auto && val )
256
256
-> std::variant<std::unique_ptr<Identifier>,
257
257
std::unique_ptr<Attribute>, std::unique_ptr<Slice>,
258
- std::unique_ptr<Index>> { return value ->clone (); },
258
+ std::unique_ptr<Index>> { return val ->clone (); },
259
259
this ->value );
260
260
}
261
261
};
@@ -386,7 +386,7 @@ class Concat : public Expression {
386
386
std::vector<std::unique_ptr<Expression>> args;
387
387
bool unpacked;
388
388
389
- Concat (std::vector<std::unique_ptr<Expression>> args, bool unpacked = false )
389
+ explicit Concat (std::vector<std::unique_ptr<Expression>> args, bool unpacked = false )
390
390
: args(std::move(args)), unpacked(unpacked){};
391
391
Concat (const Concat& rhs) {
392
392
for (const auto & arg : rhs.args ) args.push_back (arg->clone ());
@@ -420,17 +420,17 @@ class NegEdge : public Node {
420
420
public:
421
421
std::unique_ptr<Identifier> value;
422
422
423
- NegEdge (std::unique_ptr<Identifier> value) : value(std::move(value)){};
424
- std::string toString ();
423
+ explicit NegEdge (std::unique_ptr<Identifier> value) : value(std::move(value)){};
424
+ std::string toString () override ;
425
425
~NegEdge (){};
426
426
};
427
427
428
428
class PosEdge : public Node {
429
429
public:
430
430
std::unique_ptr<Identifier> value;
431
431
432
- PosEdge (std::unique_ptr<Identifier> value) : value(std::move(value)){};
433
- std::string toString ();
432
+ explicit PosEdge (std::unique_ptr<Identifier> value) : value(std::move(value)){};
433
+ std::string toString () override ;
434
434
~PosEdge (){};
435
435
};
436
436
@@ -441,7 +441,7 @@ class Call {
441
441
442
442
Call (std::string func, std::vector<std::unique_ptr<Expression>> args)
443
443
: func(func), args(std::move(args)){};
444
- Call (std::string func) : func(func){};
444
+ explicit Call (std::string func) : func(func){};
445
445
std::string toString ();
446
446
~Call (){};
447
447
};
@@ -459,7 +459,7 @@ class CallExpr : public Expression, public Call {
459
459
public:
460
460
CallExpr (std::string func, std::vector<std::unique_ptr<Expression>> args)
461
461
: Call(std::move(func), std::move(args)){};
462
- CallExpr (std::string func) : Call(std::move(func)){};
462
+ explicit CallExpr (std::string func) : Call(std::move(func)){};
463
463
CallExpr (const CallExpr& rhs) : Call(std::move(rhs.func)) {
464
464
for (const auto & arg : rhs.args ) {
465
465
args.push_back (arg->clone ());
@@ -538,19 +538,19 @@ class Port : public AbstractPort {
538
538
Port (std::variant<std::unique_ptr<Identifier>, std::unique_ptr<Vector>> value,
539
539
Direction direction, PortType data_type)
540
540
: value(std::move(value)), direction(direction), data_type(data_type){};
541
- Port (std::unique_ptr<Port> port)
541
+ explicit Port (std::unique_ptr<Port> port)
542
542
: value(std::move(port->value)),
543
543
direction(port->direction),
544
544
data_type(port->data_type){};
545
- std::string toString ();
545
+ std::string toString () override ;
546
546
~Port (){};
547
547
};
548
548
549
549
class StringPort : public AbstractPort {
550
550
public:
551
551
std::string value;
552
552
553
- StringPort (std::string value) : value(value){};
553
+ explicit StringPort (std::string value) : value(value){};
554
554
std::string toString () { return value; };
555
555
~StringPort (){};
556
556
};
@@ -566,19 +566,19 @@ class SingleLineComment : public StructuralStatement,
566
566
std::string value;
567
567
std::unique_ptr<Statement> statement; // optional
568
568
569
- SingleLineComment (std::string value)
569
+ explicit SingleLineComment (std::string value)
570
570
: value(value), statement(std::unique_ptr<Statement>{}){};
571
571
SingleLineComment (std::string value, std::unique_ptr<Statement> statement)
572
572
: value(value), statement(std::move(statement)){};
573
- std::string toString ();
573
+ std::string toString () override ;
574
574
~SingleLineComment (){};
575
575
};
576
576
577
577
class BlockComment : public StructuralStatement , public BehavioralStatement {
578
578
public:
579
579
std::string value;
580
580
581
- BlockComment (std::string value) : value(value){};
581
+ explicit BlockComment (std::string value) : value(value){};
582
582
std::string toString () { return " /*\n " + value + " \n */" ; };
583
583
~BlockComment (){};
584
584
};
@@ -591,7 +591,7 @@ class InlineVerilog : public StructuralStatement {
591
591
public:
592
592
std::string value;
593
593
594
- InlineVerilog (std::string value) : value(value){};
594
+ explicit InlineVerilog (std::string value) : value(value){};
595
595
std::string toString () { return value; };
596
596
~InlineVerilog (){};
597
597
};
@@ -656,7 +656,7 @@ class ModuleInstantiation : public StructuralStatement {
656
656
parameters (std::move(parameters)),
657
657
instance_name(instance_name),
658
658
connections(std::move(connections)){};
659
- std::string toString ();
659
+ std::string toString () override ;
660
660
~ModuleInstantiation (){};
661
661
};
662
662
@@ -673,7 +673,7 @@ class Declaration : public Node {
673
673
std::string decl)
674
674
: decl(decl), value(std::move(value)){};
675
675
676
- std::string toString ();
676
+ std::string toString () override ;
677
677
virtual ~Declaration () = default ;
678
678
};
679
679
@@ -704,7 +704,7 @@ class IfMacro : public StructuralStatement {
704
704
true_body (std::move(true_body)),
705
705
else_body(std::move(else_body)){};
706
706
~IfMacro (){};
707
- std::string toString ();
707
+ std::string toString () override ;
708
708
};
709
709
710
710
class IfDef : public IfMacro {
@@ -749,7 +749,7 @@ class IfNDef : public IfMacro {
749
749
750
750
class Wire : public Declaration {
751
751
public:
752
- Wire (std::variant<std::unique_ptr<Identifier>, std::unique_ptr<Index>,
752
+ explicit Wire (std::variant<std::unique_ptr<Identifier>, std::unique_ptr<Index>,
753
753
std::unique_ptr<Slice>, std::unique_ptr<Vector>>
754
754
value)
755
755
: Declaration(std::move(value), "wire"){};
@@ -758,7 +758,7 @@ class Wire : public Declaration {
758
758
759
759
class Reg : public Declaration {
760
760
public:
761
- Reg (std::variant<std::unique_ptr<Identifier>, std::unique_ptr<Index>,
761
+ explicit Reg (std::variant<std::unique_ptr<Identifier>, std::unique_ptr<Index>,
762
762
std::unique_ptr<Slice>, std::unique_ptr<Vector>>
763
763
value)
764
764
: Declaration(std::move(value), "reg"){};
@@ -792,7 +792,7 @@ class Assign : public Node {
792
792
prefix(prefix),
793
793
symbol(symbol){};
794
794
795
- std::string toString ();
795
+ std::string toString () override ;
796
796
virtual ~Assign () = default ;
797
797
};
798
798
@@ -838,7 +838,7 @@ class CallStmt : public BehavioralStatement, public Call {
838
838
public:
839
839
CallStmt (std::string func, std::vector<std::unique_ptr<Expression>> args)
840
840
: Call(std::move(func), std::move(args)){};
841
- CallStmt (std::string func) : Call(std::move(func)){};
841
+ explicit CallStmt (std::string func) : Call(std::move(func)){};
842
842
std::string toString () { return Call::toString () + " ;" ; };
843
843
};
844
844
@@ -868,7 +868,7 @@ class Always : public StructuralStatement {
868
868
}
869
869
this ->sensitivity_list = std::move (sensitivity_list);
870
870
};
871
- std::string toString ();
871
+ std::string toString () override ;
872
872
~Always (){};
873
873
};
874
874
@@ -900,7 +900,7 @@ class If : public BehavioralStatement {
900
900
true_body(std::move(true_body)),
901
901
else_body(std::move(else_body)){};
902
902
903
- std::string toString ();
903
+ std::string toString () override ;
904
904
~If (){};
905
905
};
906
906
@@ -939,7 +939,7 @@ class Module : public AbstractModule {
939
939
body)
940
940
: name(name), ports(std::move(ports)), body(std::move(body)){};
941
941
942
- std::string toString ();
942
+ std::string toString () override ;
943
943
~Module (){};
944
944
};
945
945
@@ -951,15 +951,15 @@ class StringBodyModule : public Module {
951
951
std::vector<std::unique_ptr<AbstractPort>> ports,
952
952
std::string body, Parameters parameters)
953
953
: Module(name, std::move(ports), std::move(parameters)), body(body){};
954
- std::string toString ();
954
+ std::string toString () override ;
955
955
~StringBodyModule (){};
956
956
};
957
957
958
958
class StringModule : public AbstractModule {
959
959
public:
960
960
std::string definition;
961
961
962
- StringModule (std::string definition) : definition(definition){};
962
+ explicit StringModule (std::string definition) : definition(definition){};
963
963
std::string toString () { return definition; };
964
964
~StringModule (){};
965
965
};
@@ -968,9 +968,9 @@ class File : public Node {
968
968
public:
969
969
std::vector<std::unique_ptr<AbstractModule>> modules;
970
970
971
- File (std::vector<std::unique_ptr<AbstractModule>>& modules)
971
+ explicit File (std::vector<std::unique_ptr<AbstractModule>>& modules)
972
972
: modules(std::move(modules)){};
973
- std::string toString ();
973
+ std::string toString () override ;
974
974
~File (){};
975
975
};
976
976
0 commit comments