llvm.org GIT mirror llvm / 4a655e7
[C+11] Add 'override' keyword to methods in the support library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202791 91177308-0d34-0410-b5e6-96231b3b80d8 Craig Topper 6 years ago
9 changed file(s) with 141 addition(s) and 138 deletion(s). Raw diff Collapse all Expand all
395395 private:
396396 /// GetNodeProfile - Each instantiatation of the FoldingSet needs to provide a
397397 /// way to convert nodes into a unique specifier.
398 virtual void GetNodeProfile(Node *N, FoldingSetNodeID &ID) const {
398 void GetNodeProfile(Node *N, FoldingSetNodeID &ID) const override {
399399 T *TN = static_cast(N);
400400 FoldingSetTrait::Profile(*TN, ID);
401401 }
402402 /// NodeEquals - Instantiations may optionally provide a way to compare a
403403 /// node with a specified ID.
404 virtual bool NodeEquals(Node *N, const FoldingSetNodeID &ID, unsigned IDHash,
405 FoldingSetNodeID &TempID) const {
404 bool NodeEquals(Node *N, const FoldingSetNodeID &ID, unsigned IDHash,
405 FoldingSetNodeID &TempID) const override {
406406 T *TN = static_cast(N);
407407 return FoldingSetTrait::Equals(*TN, ID, IDHash, TempID);
408408 }
409409 /// ComputeNodeHash - Instantiations may optionally provide a way to compute a
410410 /// hash value directly from a node.
411 virtual unsigned ComputeNodeHash(Node *N, FoldingSetNodeID &TempID) const {
411 unsigned ComputeNodeHash(Node *N, FoldingSetNodeID &TempID) const override {
412412 T *TN = static_cast(N);
413413 return FoldingSetTrait::ComputeHash(*TN, TempID);
414414 }
472472
473473 /// GetNodeProfile - Each instantiatation of the FoldingSet needs to provide a
474474 /// way to convert nodes into a unique specifier.
475 virtual void GetNodeProfile(FoldingSetImpl::Node *N,
476 FoldingSetNodeID &ID) const {
475 void GetNodeProfile(FoldingSetImpl::Node *N,
476 FoldingSetNodeID &ID) const override {
477477 T *TN = static_cast(N);
478478 ContextualFoldingSetTrait::Profile(*TN, ID, Context);
479479 }
480 virtual bool NodeEquals(FoldingSetImpl::Node *N,
481 const FoldingSetNodeID &ID, unsigned IDHash,
482 FoldingSetNodeID &TempID) const {
480 bool NodeEquals(FoldingSetImpl::Node *N, const FoldingSetNodeID &ID,
481 unsigned IDHash, FoldingSetNodeID &TempID) const override {
483482 T *TN = static_cast(N);
484483 return ContextualFoldingSetTrait::Equals(*TN, ID, IDHash, TempID,
485484 Context);
486485 }
487 virtual unsigned ComputeNodeHash(FoldingSetImpl::Node *N,
488 FoldingSetNodeID &TempID) const {
486 unsigned ComputeNodeHash(FoldingSetImpl::Node *N,
487 FoldingSetNodeID &TempID) const override {
489488 T *TN = static_cast(N);
490489 return ContextualFoldingSetTrait::ComputeHash(*TN, TempID, Context);
491490 }
5050 virtual BasicBlock *getSuccessorV(unsigned idx) const = 0;
5151 virtual unsigned getNumSuccessorsV() const = 0;
5252 virtual void setSuccessorV(unsigned idx, BasicBlock *B) = 0;
53 virtual TerminatorInst *clone_impl() const = 0;
53 TerminatorInst *clone_impl() const override = 0;
5454 public:
5555
5656 /// getNumSuccessors - Return the number of successors that this terminator
379379
380380 bool compare(const DataType &/*V*/) const { return false; }
381381
382 virtual bool compare(const GenericOptionValue& /*V*/) const { return false; }
382 bool compare(const GenericOptionValue& /*V*/) const override {
383 return false;
384 }
383385 };
384386
385387 // Simple copy of the option value.
403405 return Valid && (Value != V);
404406 }
405407
406 virtual bool compare(const GenericOptionValue &V) const {
408 bool compare(const GenericOptionValue &V) const override {
407409 const OptionValueCopy &VC =
408410 static_cast< const OptionValueCopy& >(V);
409411 if (!VC.hasValue()) return false;
449451 return *this;
450452 }
451453 private:
452 virtual void anchor();
454 void anchor() override;
453455 };
454456
455457 template<>
466468 return *this;
467469 }
468470 private:
469 virtual void anchor();
471 void anchor() override;
470472 };
471473
472474 //===----------------------------------------------------------------------===//
645647 typedef DataType parser_data_type;
646648
647649 // Implement virtual functions needed by generic_parser_base
648 unsigned getNumOptions() const { return unsigned(Values.size()); }
649 const char *getOption(unsigned N) const { return Values[N].Name; }
650 const char *getDescription(unsigned N) const {
650 unsigned getNumOptions() const override { return unsigned(Values.size()); }
651 const char *getOption(unsigned N) const override { return Values[N].Name; }
652 const char *getDescription(unsigned N) const override {
651653 return Values[N].HelpStr;
652654 }
653655
654656 // getOptionValue - Return the value of option name N.
655 virtual const GenericOptionValue &getOptionValue(unsigned N) const {
657 const GenericOptionValue &getOptionValue(unsigned N) const override {
656658 return Values[N].V;
657659 }
658660
761763 }
762764
763765 // getValueName - Do not print = at all.
764 virtual const char *getValueName() const { return 0; }
766 const char *getValueName() const override { return 0; }
765767
766768 void printOptionDiff(const Option &O, bool V, OptVal Default,
767769 size_t GlobalWidth) const;
768770
769771 // An out-of-line virtual method to provide a 'home' for this class.
770 virtual void anchor();
772 void anchor() override;
771773 };
772774
773775 EXTERN_TEMPLATE_INSTANTIATION(class basic_parser);
785787 }
786788
787789 // getValueName - Do not print = at all.
788 virtual const char *getValueName() const { return 0; }
790 const char *getValueName() const override { return 0; }
789791
790792 void printOptionDiff(const Option &O, boolOrDefault V, OptVal Default,
791793 size_t GlobalWidth) const;
792794
793795 // An out-of-line virtual method to provide a 'home' for this class.
794 virtual void anchor();
796 void anchor() override;
795797 };
796798
797799 EXTERN_TEMPLATE_INSTANTIATION(class basic_parser);
806808 bool parse(Option &O, StringRef ArgName, StringRef Arg, int &Val);
807809
808810 // getValueName - Overload in subclass to provide a better default value.
809 virtual const char *getValueName() const { return "int"; }
811 const char *getValueName() const override { return "int"; }
810812
811813 void printOptionDiff(const Option &O, int V, OptVal Default,
812814 size_t GlobalWidth) const;
813815
814816 // An out-of-line virtual method to provide a 'home' for this class.
815 virtual void anchor();
817 void anchor() override;
816818 };
817819
818820 EXTERN_TEMPLATE_INSTANTIATION(class basic_parser);
828830 bool parse(Option &O, StringRef ArgName, StringRef Arg, unsigned &Val);
829831
830832 // getValueName - Overload in subclass to provide a better default value.
831 virtual const char *getValueName() const { return "uint"; }
833 const char *getValueName() const override { return "uint"; }
832834
833835 void printOptionDiff(const Option &O, unsigned V, OptVal Default,
834836 size_t GlobalWidth) const;
835837
836838 // An out-of-line virtual method to provide a 'home' for this class.
837 virtual void anchor();
839 void anchor() override;
838840 };
839841
840842 EXTERN_TEMPLATE_INSTANTIATION(class basic_parser);
850852 unsigned long long &Val);
851853
852854 // getValueName - Overload in subclass to provide a better default value.
853 virtual const char *getValueName() const { return "uint"; }
855 const char *getValueName() const override { return "uint"; }
854856
855857 void printOptionDiff(const Option &O, unsigned long long V, OptVal Default,
856858 size_t GlobalWidth) const;
857859
858860 // An out-of-line virtual method to provide a 'home' for this class.
859 virtual void anchor();
861 void anchor() override;
860862 };
861863
862864 EXTERN_TEMPLATE_INSTANTIATION(class basic_parser);
871873 bool parse(Option &O, StringRef ArgName, StringRef Arg, double &Val);
872874
873875 // getValueName - Overload in subclass to provide a better default value.
874 virtual const char *getValueName() const { return "number"; }
876 const char *getValueName() const override { return "number"; }
875877
876878 void printOptionDiff(const Option &O, double V, OptVal Default,
877879 size_t GlobalWidth) const;
878880
879881 // An out-of-line virtual method to provide a 'home' for this class.
880 virtual void anchor();
882 void anchor() override;
881883 };
882884
883885 EXTERN_TEMPLATE_INSTANTIATION(class basic_parser);
892894 bool parse(Option &O, StringRef ArgName, StringRef Arg, float &Val);
893895
894896 // getValueName - Overload in subclass to provide a better default value.
895 virtual const char *getValueName() const { return "number"; }
897 const char *getValueName() const override { return "number"; }
896898
897899 void printOptionDiff(const Option &O, float V, OptVal Default,
898900 size_t GlobalWidth) const;
899901
900902 // An out-of-line virtual method to provide a 'home' for this class.
901 virtual void anchor();
903 void anchor() override;
902904 };
903905
904906 EXTERN_TEMPLATE_INSTANTIATION(class basic_parser);
916918 }
917919
918920 // getValueName - Overload in subclass to provide a better default value.
919 virtual const char *getValueName() const { return "string"; }
921 const char *getValueName() const override { return "string"; }
920922
921923 void printOptionDiff(const Option &O, StringRef V, OptVal Default,
922924 size_t GlobalWidth) const;
923925
924926 // An out-of-line virtual method to provide a 'home' for this class.
925 virtual void anchor();
927 void anchor() override;
926928 };
927929
928930 EXTERN_TEMPLATE_INSTANTIATION(class basic_parser);
940942 }
941943
942944 // getValueName - Overload in subclass to provide a better default value.
943 virtual const char *getValueName() const { return "char"; }
945 const char *getValueName() const override { return "char"; }
944946
945947 void printOptionDiff(const Option &O, char V, OptVal Default,
946948 size_t GlobalWidth) const;
947949
948950 // An out-of-line virtual method to provide a 'home' for this class.
949 virtual void anchor();
951 void anchor() override;
950952 };
951953
952954 EXTERN_TEMPLATE_INSTANTIATION(class basic_parser);
11561158 is_class::value> {
11571159 ParserClass Parser;
11581160
1159 virtual bool handleOccurrence(unsigned pos, StringRef ArgName,
1160 StringRef Arg) {
1161 bool handleOccurrence(unsigned pos, StringRef ArgName,
1162 StringRef Arg) override {
11611163 typename ParserClass::parser_data_type Val =
11621164 typename ParserClass::parser_data_type();
11631165 if (Parser.parse(*this, ArgName, Arg, Val))
11671169 return false;
11681170 }
11691171
1170 virtual enum ValueExpected getValueExpectedFlagDefault() const {
1172 enum ValueExpected getValueExpectedFlagDefault() const override {
11711173 return Parser.getValueExpectedFlagDefault();
11721174 }
1173 virtual void getExtraOptionNames(SmallVectorImpl &OptionNames) {
1175 void getExtraOptionNames(SmallVectorImpl &OptionNames) override {
11741176 return Parser.getExtraOptionNames(OptionNames);
11751177 }
11761178
11771179 // Forward printing stuff to the parser...
1178 virtual size_t getOptionWidth() const {return Parser.getOptionWidth(*this);}
1179 virtual void printOptionInfo(size_t GlobalWidth) const {
1180 size_t getOptionWidth() const override {return Parser.getOptionWidth(*this);}
1181 void printOptionInfo(size_t GlobalWidth) const override {
11801182 Parser.printOptionInfo(*this, GlobalWidth);
11811183 }
11821184
1183 virtual void printOptionValue(size_t GlobalWidth, bool Force) const {
1185 void printOptionValue(size_t GlobalWidth, bool Force) const override {
11841186 if (Force || this->getDefault().compare(this->getValue())) {
11851187 cl::printOptionDiff(
11861188 *this, Parser, this->getValue(), this->getDefault(), GlobalWidth);
13271329 std::vector Positions;
13281330 ParserClass Parser;
13291331
1330 virtual enum ValueExpected getValueExpectedFlagDefault() const {
1332 enum ValueExpected getValueExpectedFlagDefault() const override {
13311333 return Parser.getValueExpectedFlagDefault();
13321334 }
1333 virtual void getExtraOptionNames(SmallVectorImpl &OptionNames) {
1335 void getExtraOptionNames(SmallVectorImpl &OptionNames) override {
13341336 return Parser.getExtraOptionNames(OptionNames);
13351337 }
13361338
1337 virtual bool handleOccurrence(unsigned pos, StringRef ArgName, StringRef Arg){
1339 bool handleOccurrence(unsigned pos, StringRef ArgName,
1340 StringRef Arg) override {
13381341 typename ParserClass::parser_data_type Val =
13391342 typename ParserClass::parser_data_type();
13401343 if (Parser.parse(*this, ArgName, Arg, Val))
13461349 }
13471350
13481351 // Forward printing stuff to the parser...
1349 virtual size_t getOptionWidth() const {return Parser.getOptionWidth(*this);}
1350 virtual void printOptionInfo(size_t GlobalWidth) const {
1352 size_t getOptionWidth() const override {return Parser.getOptionWidth(*this);}
1353 void printOptionInfo(size_t GlobalWidth) const override {
13511354 Parser.printOptionInfo(*this, GlobalWidth);
13521355 }
13531356
13541357 // Unimplemented: list options don't currently store their default value.
1355 virtual void printOptionValue(size_t /*GlobalWidth*/, bool /*Force*/) const {}
1358 void printOptionValue(size_t /*GlobalWidth*/,
1359 bool /*Force*/) const override {}
13561360
13571361 void done() {
13581362 addArgument();
15291533 std::vector Positions;
15301534 ParserClass Parser;
15311535
1532 virtual enum ValueExpected getValueExpectedFlagDefault() const {
1536 enum ValueExpected getValueExpectedFlagDefault() const override {
15331537 return Parser.getValueExpectedFlagDefault();
15341538 }
1535 virtual void getExtraOptionNames(SmallVectorImpl &OptionNames) {
1539 void getExtraOptionNames(SmallVectorImpl &OptionNames) override {
15361540 return Parser.getExtraOptionNames(OptionNames);
15371541 }
15381542
1539 virtual bool handleOccurrence(unsigned pos, StringRef ArgName, StringRef Arg){
1543 bool handleOccurrence(unsigned pos, StringRef ArgName,
1544 StringRef Arg) override {
15401545 typename ParserClass::parser_data_type Val =
15411546 typename ParserClass::parser_data_type();
15421547 if (Parser.parse(*this, ArgName, Arg, Val))
15481553 }
15491554
15501555 // Forward printing stuff to the parser...
1551 virtual size_t getOptionWidth() const {return Parser.getOptionWidth(*this);}
1552 virtual void printOptionInfo(size_t GlobalWidth) const {
1556 size_t getOptionWidth() const override {return Parser.getOptionWidth(*this);}
1557 void printOptionInfo(size_t GlobalWidth) const override {
15531558 Parser.printOptionInfo(*this, GlobalWidth);
15541559 }
15551560
15561561 // Unimplemented: bits options don't currently store their default values.
1557 virtual void printOptionValue(size_t /*GlobalWidth*/, bool /*Force*/) const {}
1562 void printOptionValue(size_t /*GlobalWidth*/,
1563 bool /*Force*/) const override {}
15581564
15591565 void done() {
15601566 addArgument();
16391645
16401646 class alias : public Option {
16411647 Option *AliasFor;
1642 virtual bool handleOccurrence(unsigned pos, StringRef /*ArgName*/,
1648 bool handleOccurrence(unsigned pos, StringRef /*ArgName*/,
16431649 StringRef Arg) override {
16441650 return AliasFor->handleOccurrence(pos, AliasFor->ArgStr, Arg);
16451651 }
16461652 // Handle printing stuff...
1647 virtual size_t getOptionWidth() const override;
1648 virtual void printOptionInfo(size_t GlobalWidth) const override;
1653 size_t getOptionWidth() const override;
1654 void printOptionInfo(size_t GlobalWidth) const override;
16491655
16501656 // Aliases do not need to print their values.
1651 virtual void printOptionValue(size_t /*GlobalWidth*/,
1652 bool /*Force*/) const override {}
1653
1654 virtual ValueExpected getValueExpectedFlagDefault() const override {
1657 void printOptionValue(size_t /*GlobalWidth*/,
1658 bool /*Force*/) const override {}
1659
1660 ValueExpected getValueExpectedFlagDefault() const override {
16551661 return AliasFor->getValueExpectedFlag();
16561662 }
16571663
8383 : format_object_base(fmt), Val(val) {
8484 }
8585
86 virtual int snprint(char *Buffer, unsigned BufferSize) const {
86 int snprint(char *Buffer, unsigned BufferSize) const override {
8787 return snprintf(Buffer, BufferSize, Fmt, Val);
8888 }
8989 };
101101 : format_object_base(fmt), Val1(val1), Val2(val2) {
102102 }
103103
104 virtual int snprint(char *Buffer, unsigned BufferSize) const {
104 int snprint(char *Buffer, unsigned BufferSize) const override {
105105 return snprintf(Buffer, BufferSize, Fmt, Val1, Val2);
106106 }
107107 };
120120 : format_object_base(fmt), Val1(val1), Val2(val2), Val3(val3) {
121121 }
122122
123 virtual int snprint(char *Buffer, unsigned BufferSize) const {
123 int snprint(char *Buffer, unsigned BufferSize) const override {
124124 return snprintf(Buffer, BufferSize, Fmt, Val1, Val2, Val3);
125125 }
126126 };
141141 : format_object_base(fmt), Val1(val1), Val2(val2), Val3(val3), Val4(val4) {
142142 }
143143
144 virtual int snprint(char *Buffer, unsigned BufferSize) const {
144 int snprint(char *Buffer, unsigned BufferSize) const override {
145145 return snprintf(Buffer, BufferSize, Fmt, Val1, Val2, Val3, Val4);
146146 }
147147 };
164164 Val5(val5) {
165165 }
166166
167 virtual int snprint(char *Buffer, unsigned BufferSize) const {
167 int snprint(char *Buffer, unsigned BufferSize) const override {
168168 return snprintf(Buffer, BufferSize, Fmt, Val1, Val2, Val3, Val4, Val5);
169169 }
170170 };
128128
129129 /// getLine - Return the line number
130130 unsigned getLine() { return Position.second; }
131
132 raw_ostream &resetColor() {
131
132 raw_ostream &resetColor() override {
133133 TheStream->resetColor();
134134 return *this;
135135 }
136
137 raw_ostream &reverseColor() {
136
137 raw_ostream &reverseColor() override {
138138 TheStream->reverseColor();
139139 return *this;
140140 }
141
142 raw_ostream &changeColor(enum Colors Color,
143 bool Bold,
144 bool BG) {
141
142 raw_ostream &changeColor(enum Colors Color, bool Bold, bool BG) override {
145143 TheStream->changeColor(Color, Bold, BG);
146144 return *this;
147145 }
148
149 bool is_displayed() const {
146
147 bool is_displayed() const override {
150148 return TheStream->is_displayed();
151149 }
152150
109109 virtual ~self_process();
110110
111111 public:
112 virtual id_type get_id();
113 virtual TimeValue get_user_time() const;
114 virtual TimeValue get_system_time() const;
115 virtual TimeValue get_wall_time() const;
112 id_type get_id() override;
113 TimeValue get_user_time() const override;
114 TimeValue get_system_time() const override;
115 TimeValue get_wall_time() const override;
116116
117117 /// \name Process configuration (sysconf on POSIX)
118118 /// @{
174174 /// Example:
175175 /// !!null null
176176 class NullNode : public Node {
177 virtual void anchor();
177 void anchor() override;
178178 public:
179179 NullNode(OwningPtr &D)
180180 : Node(NK_Null, D, StringRef(), StringRef()) {}
190190 /// Example:
191191 /// Adena
192192 class ScalarNode : public Node {
193 virtual void anchor();
193 void anchor() override;
194194 public:
195195 ScalarNode(OwningPtr &D, StringRef Anchor, StringRef Tag,
196196 StringRef Val)
232232 /// Example:
233233 /// Section: .text
234234 class KeyValueNode : public Node {
235 virtual void anchor();
235 void anchor() override;
236236 public:
237237 KeyValueNode(OwningPtr &D)
238238 : Node(NK_KeyValue, D, StringRef(), StringRef())
344344 /// Name: _main
345345 /// Scope: Global
346346 class MappingNode : public Node {
347 virtual void anchor();
347 void anchor() override;
348348 public:
349349 enum MappingType {
350350 MT_Block,
394394 /// - Hello
395395 /// - World
396396 class SequenceNode : public Node {
397 virtual void anchor();
397 void anchor() override;
398398 public:
399399 enum SequenceType {
400400 ST_Block,
450450 /// Example:
451451 /// *AnchorName
452452 class AliasNode : public Node {
453 virtual void anchor();
453 void anchor() override;
454454 public:
455455 AliasNode(OwningPtr &D, StringRef Val)
456456 : Node(NK_Alias, D, StringRef(), StringRef()), Name(Val) {}
749749 llvm::error_code error();
750750
751751 private:
752 virtual bool outputting();
753 virtual bool mapTag(StringRef, bool);
754 virtual void beginMapping();
755 virtual void endMapping();
756 virtual bool preflightKey(const char *, bool, bool, bool &, void *&);
757 virtual void postflightKey(void *);
758 virtual unsigned beginSequence();
759 virtual void endSequence();
760 virtual bool preflightElement(unsigned index, void *&);
761 virtual void postflightElement(void *);
762 virtual unsigned beginFlowSequence();
763 virtual bool preflightFlowElement(unsigned , void *&);
764 virtual void postflightFlowElement(void *);
765 virtual void endFlowSequence();
766 virtual void beginEnumScalar();
767 virtual bool matchEnumScalar(const char*, bool);
768 virtual void endEnumScalar();
769 virtual bool beginBitSetScalar(bool &);
770 virtual bool bitSetMatch(const char *, bool );
771 virtual void endBitSetScalar();
772 virtual void scalarString(StringRef &);
773 virtual void setError(const Twine &message);
774 virtual bool canElideEmptySequence();
752 bool outputting() override;
753 bool mapTag(StringRef, bool) override;
754 void beginMapping() override;
755 void endMapping() override;
756 bool preflightKey(const char *, bool, bool, bool &, void *&) override;
757 void postflightKey(void *) override;
758 unsigned beginSequence() override;
759 void endSequence() override;
760 bool preflightElement(unsigned index, void *&) override;
761 void postflightElement(void *) override;
762 unsigned beginFlowSequence() override;
763 bool preflightFlowElement(unsigned , void *&) override;
764 void postflightFlowElement(void *) override;
765 void endFlowSequence() override;
766 void beginEnumScalar() override;
767 bool matchEnumScalar(const char*, bool) override;
768 void endEnumScalar() override;
769 bool beginBitSetScalar(bool &) override;
770 bool bitSetMatch(const char *, bool ) override;
771 void endBitSetScalar() override;
772 void scalarString(StringRef &) override;
773 void setError(const Twine &message) override;
774 bool canElideEmptySequence() override;
775775
776776 class HNode {
777777 virtual void anchor();
784784 };
785785
786786 class EmptyHNode : public HNode {
787 virtual void anchor();
787 void anchor() override;
788788 public:
789789 EmptyHNode(Node *n) : HNode(n) { }
790790 static inline bool classof(const HNode *n) {
794794 };
795795
796796 class ScalarHNode : public HNode {
797 virtual void anchor();
797 void anchor() override;
798798 public:
799799 ScalarHNode(Node *n, StringRef s) : HNode(n), _value(s) { }
800800
874874 Output(llvm::raw_ostream &, void *Ctxt=NULL);
875875 virtual ~Output();
876876
877 virtual bool outputting();
878 virtual bool mapTag(StringRef, bool);
879 virtual void beginMapping();
880 virtual void endMapping();
881 virtual bool preflightKey(const char *key, bool, bool, bool &, void *&);
882 virtual void postflightKey(void *);
883 virtual unsigned beginSequence();
884 virtual void endSequence();
885 virtual bool preflightElement(unsigned, void *&);
886 virtual void postflightElement(void *);
887 virtual unsigned beginFlowSequence();
888 virtual bool preflightFlowElement(unsigned, void *&);
889 virtual void postflightFlowElement(void *);
890 virtual void endFlowSequence();
891 virtual void beginEnumScalar();
892 virtual bool matchEnumScalar(const char*, bool);
893 virtual void endEnumScalar();
894 virtual bool beginBitSetScalar(bool &);
895 virtual bool bitSetMatch(const char *, bool );
896 virtual void endBitSetScalar();
897 virtual void scalarString(StringRef &);
898 virtual void setError(const Twine &message);
899 virtual bool canElideEmptySequence();
877 bool outputting() override;
878 bool mapTag(StringRef, bool) override;
879 void beginMapping() override;
880 void endMapping() override;
881 bool preflightKey(const char *key, bool, bool, bool &, void *&) override;
882 void postflightKey(void *) override;
883 unsigned beginSequence() override;
884 void endSequence() override;
885 bool preflightElement(unsigned, void *&) override;
886 void postflightElement(void *) override;
887 unsigned beginFlowSequence() override;
888 bool preflightFlowElement(unsigned, void *&) override;
889 void postflightFlowElement(void *) override;
890 void endFlowSequence() override;
891 void beginEnumScalar() override;
892 bool matchEnumScalar(const char*, bool) override;
893 void endEnumScalar() override;
894 bool beginBitSetScalar(bool &) override;
895 bool bitSetMatch(const char *, bool ) override;
896 void endBitSetScalar() override;
897 void scalarString(StringRef &) override;
898 void setError(const Twine &message) override;
899 bool canElideEmptySequence() override;
900900 public:
901901 // These are only used by operator<<. They could be private
902902 // if that templated operator could be made a friend.
15061506 using HelpPrinter::operator= ;
15071507
15081508 protected:
1509 virtual void printOptions(StrOptionPairVector &Opts, size_t MaxArgLen) {
1509 void printOptions(StrOptionPairVector &Opts, size_t MaxArgLen) override {
15101510 std::vector SortedCategories;
15111511 std::map > CategorizedOptions;
15121512