OpenDDS  Snapshot(2023/04/07-19:43)
Public Member Functions | List of all members
TryConstructAnnotation Class Reference

#include <annotations.h>

Inheritance diagram for TryConstructAnnotation:
Inheritance graph
[legend]
Collaboration diagram for TryConstructAnnotation:
Collaboration graph
[legend]

Public Member Functions

 TryConstructAnnotation ()
 
std::string definition () const
 
std::string name () const
 
TryConstructFailAction sequence_element_value (AST_Sequence *node) const
 
TryConstructFailAction array_element_value (AST_Array *node) const
 
TryConstructFailAction union_value (AST_Union *node) const
 
- Public Member Functions inherited from AnnotationWithValue< TryConstructFailAction >
virtual bool node_value_exists (AST_Decl *node, TryConstructFailAction &value) const
 
- Public Member Functions inherited from Annotation
 Annotation ()
 
virtual ~Annotation ()
 
virtual std::string module () const
 
virtual std::string fullname () const
 
AST_Annotation_Decl * declaration () const
 
AST_Annotation_Appl * find_on (AST_Decl *node) const
 
void cache ()
 
- Public Member Functions inherited from AbsentValue< TryConstructFailAction >
 AbsentValue (const TryConstructFailAction &value)
 

Additional Inherited Members

- Public Attributes inherited from AbsentValue< TryConstructFailAction >
const TryConstructFailAction absent_value
 
- Protected Member Functions inherited from AnnotationWithEnumValue< TryConstructFailAction >
TryConstructFailAction value_from_appl (AST_Annotation_Appl *appl) const
 

Detailed Description

Definition at line 322 of file annotations.h.

Constructor & Destructor Documentation

◆ TryConstructAnnotation()

TryConstructAnnotation::TryConstructAnnotation ( )
inline

Member Function Documentation

◆ array_element_value()

TryConstructFailAction TryConstructAnnotation::array_element_value ( AST_Array *  node) const

Definition at line 416 of file annotations.cpp.

References Annotation::declaration().

Referenced by invalid_option().

417 {
418  AST_Annotation_Appl* appl = node->base_type_annotations().find(declaration());
419  if (!appl) { return absent_value; }
420  return value_from_appl(appl);
421 }
const TryConstructFailAction absent_value
Definition: annotations.h:104
TryConstructFailAction value_from_appl(AST_Annotation_Appl *appl) const
Definition: annotations.h:148
AST_Annotation_Decl * declaration() const
Definition: annotations.cpp:73

◆ definition()

std::string TryConstructAnnotation::definition ( ) const
virtual

Implements Annotation.

Definition at line 391 of file annotations.cpp.

392 {
393  return
394  "@annotation try_construct {\n"
395  " enum TryConstructFailAction {\n"
396  " DISCARD,\n"
397  " USE_DEFAULT,\n"
398  " TRIM\n"
399  " };\n"
400  " TryConstructFailAction value default USE_DEFAULT;\n"
401  "};\n";
402 }

◆ name()

std::string TryConstructAnnotation::name ( void  ) const
virtual

Implements Annotation.

Definition at line 404 of file annotations.cpp.

405 {
406  return "try_construct";
407 }

◆ sequence_element_value()

TryConstructFailAction TryConstructAnnotation::sequence_element_value ( AST_Sequence *  node) const

Definition at line 409 of file annotations.cpp.

References Annotation::declaration().

Referenced by invalid_option().

410 {
411  AST_Annotation_Appl* appl = node->base_type_annotations().find(declaration());
412  if (!appl) { return absent_value; }
413  return value_from_appl(appl);
414 }
const TryConstructFailAction absent_value
Definition: annotations.h:104
TryConstructFailAction value_from_appl(AST_Annotation_Appl *appl) const
Definition: annotations.h:148
AST_Annotation_Decl * declaration() const
Definition: annotations.cpp:73

◆ union_value()

TryConstructFailAction TryConstructAnnotation::union_value ( AST_Union *  node) const

Definition at line 423 of file annotations.cpp.

References Annotation::declaration().

Referenced by invalid_option().

424 {
425  AST_Annotation_Appl* appl = node->disc_annotations().find(declaration());
426  if (!appl) { return absent_value; }
427  return value_from_appl(appl);
428 }
const TryConstructFailAction absent_value
Definition: annotations.h:104
TryConstructFailAction value_from_appl(AST_Annotation_Appl *appl) const
Definition: annotations.h:148
AST_Annotation_Decl * declaration() const
Definition: annotations.cpp:73

The documentation for this class was generated from the following files: