The Psyche Project
|
The UnaryExpressionSyntax class. More...
#include <SyntaxNodes_Expressions.h>
Additional Inherited Members | |
Public Types inherited from psy::C::ExpressionSyntax | |
using | BaseSyntax = SyntaxNode |
Public Member Functions inherited from psy::C::ExpressionSyntax | |
virtual ExpressionSyntax * | asExpression () override |
virtual const ExpressionSyntax * | asExpression () const override |
SyntaxToken | extensionKeyword () const override |
virtual std::vector< SyntaxHolder > | childNodesAndTokens () const override |
SyntaxNode (SyntaxTree *tree, SyntaxKind kind=Error) | |
SyntaxNode (const SyntaxNode &other)=delete | |
Public Member Functions inherited from psy::C::SyntaxNode | |
const SyntaxTree * | syntaxTree () const |
SyntaxKind | kind () const |
bool | isKind (SyntaxKind k) |
SyntaxToken | firstToken () const |
SyntaxToken | lastToken () const |
virtual TranslationUnitSyntax * | asTranslationUnit () |
virtual const TranslationUnitSyntax * | asTranslationUnit () const |
virtual DeclarationSyntax * | asDeclaration () |
virtual const DeclarationSyntax * | asDeclaration () const |
virtual IncompleteDeclarationSyntax * | asIncompleteDeclaration () |
virtual const IncompleteDeclarationSyntax * | asIncompleteDeclaration () const |
virtual NamedDeclarationSyntax * | asNamedDeclaration () |
virtual const NamedDeclarationSyntax * | asNamedDeclaration () const |
virtual TypeDeclarationSyntax * | asTypeDeclaration () |
virtual const TypeDeclarationSyntax * | asTypeDeclaration () const |
virtual TagDeclarationSyntax * | asTagDeclaration () |
virtual const TagDeclarationSyntax * | asTagDeclaration () const |
virtual StructOrUnionDeclarationSyntax * | asStructOrUnionDeclaration () |
virtual const StructOrUnionDeclarationSyntax * | asStructOrUnionDeclaration () const |
virtual EnumDeclarationSyntax * | asEnumDeclaration () |
virtual const EnumDeclarationSyntax * | asEnumDeclaration () const |
virtual EnumeratorDeclarationSyntax * | asEnumeratorDeclaration () |
virtual const EnumeratorDeclarationSyntax * | asEnumeratorDeclaration () const |
virtual ValueDeclarationSyntax * | asValueDeclaration () |
virtual const ValueDeclarationSyntax * | asValueDeclaration () const |
virtual DeclaratorDeclarationSyntax * | asDeclaratorDeclaration () |
virtual const DeclaratorDeclarationSyntax * | asDeclaratorDeclaration () const |
virtual VariableAndOrFunctionDeclarationSyntax * | asVariableAndOrFunctionDeclaration () |
virtual const VariableAndOrFunctionDeclarationSyntax * | asVariableAndOrFunctionDeclaration () const |
virtual ParameterDeclarationSyntax * | asParameterDeclaration () |
virtual const ParameterDeclarationSyntax * | asParameterDeclaration () const |
virtual FieldDeclarationSyntax * | asFieldDeclaration () |
virtual const FieldDeclarationSyntax * | asFieldDeclaration () const |
virtual StaticAssertDeclarationSyntax * | asStaticAssertDeclaration () |
virtual const StaticAssertDeclarationSyntax * | asStaticAssertDeclaration () const |
virtual FunctionDefinitionSyntax * | asFunctionDefinition () |
virtual const FunctionDefinitionSyntax * | asFunctionDefinition () const |
virtual ExtPSY_TemplateDeclarationSyntax * | asExtPSY_TemplateDeclaration () |
virtual const ExtPSY_TemplateDeclarationSyntax * | asExtPSY_TemplateDeclaration () const |
virtual ExtGNU_AsmStatementDeclarationSyntax * | asExtGNU_AsmStatementDeclaration () |
virtual const ExtGNU_AsmStatementDeclarationSyntax * | asExtGNU_AsmStatementDeclaration () const |
virtual ExtKR_ParameterDeclarationSyntax * | asExtKR_ParameterDeclaration () |
virtual const ExtKR_ParameterDeclarationSyntax * | asExtKR_ParameterDeclaration () const |
virtual SpecifierSyntax * | asSpecifier () |
virtual const SpecifierSyntax * | asSpecifier () const |
virtual TrivialSpecifierSyntax * | asTrivialSpecifier () |
virtual const TrivialSpecifierSyntax * | asTrivialSpecifier () const |
virtual StorageClassSyntax * | asStorageClass () |
virtual const StorageClassSyntax * | asStorageClass () const |
virtual BuiltinTypeSpecifierSyntax * | asBuiltinTypeSpecifier () |
virtual const BuiltinTypeSpecifierSyntax * | asBuiltinTypeSpecifier () const |
virtual TagTypeSpecifierSyntax * | asTagTypeSpecifier () |
virtual const TagTypeSpecifierSyntax * | asTagTypeSpecifier () const |
virtual TypeDeclarationAsSpecifierSyntax * | asTypeDeclarationAsSpecifier () |
virtual AtomicTypeSpecifierSyntax * | asAtomicTypeSpecifier () |
virtual const AtomicTypeSpecifierSyntax * | asAtomicTypeSpecifier () const |
virtual const TypeDeclarationAsSpecifierSyntax * | asTypeDeclarationAsSpecifier () const |
virtual TypeQualifierSyntax * | asTypeQualifier () |
virtual const TypeQualifierSyntax * | asTypeQualifier () const |
virtual FunctionSpecifierSyntax * | asFunctionSpecifier () |
virtual const FunctionSpecifierSyntax * | asFunctionSpecifier () const |
virtual AlignmentSpecifierSyntax * | asAlignmentSpecifier () |
virtual const AlignmentSpecifierSyntax * | asAlignmentSpecifier () const |
virtual TypedefNameSyntax * | asTypedefName () |
virtual const TypedefNameSyntax * | asTypedefName () const |
virtual ExtGNU_AttributeSpecifierSyntax * | asExtGNU_AttributeSpecifier () |
virtual const ExtGNU_AttributeSpecifierSyntax * | asExtGNU_AttributeSpecifier () const |
virtual ExtGNU_AttributeSyntax * | asExtGNU_Attribute () |
virtual const ExtGNU_AttributeSyntax * | asExtGNU_Attribute () const |
virtual ExtGNU_AsmLabelSyntax * | asExtGNU_AsmLabel () |
virtual const ExtGNU_AsmLabelSyntax * | asExtGNU_AsmLabel () const |
virtual ExtGNU_TypeofSyntax * | asExtGNU_Typeof () |
virtual const ExtGNU_TypeofSyntax * | asExtGNU_Typeof () const |
virtual ExtPSY_QuantifiedTypeSpecifierSyntax * | asExtPSY_QuantifiedTypeSpecifier () |
virtual const ExtPSY_QuantifiedTypeSpecifierSyntax * | asExtPSY_QuantifiedTypeSpecifier () const |
virtual DeclaratorSyntax * | asDeclarator () |
virtual const DeclaratorSyntax * | asDeclarator () const |
virtual PointerDeclaratorSyntax * | asPointerDeclarator () |
virtual const PointerDeclaratorSyntax * | asPointerDeclarator () const |
virtual IdentifierDeclaratorSyntax * | asIdentifierDeclarator () |
virtual const IdentifierDeclaratorSyntax * | asIdentifierDeclarator () const |
virtual AbstractDeclaratorSyntax * | asAbstractDeclarator () |
virtual const AbstractDeclaratorSyntax * | asAbstractDeclarator () const |
virtual ParenthesizedDeclaratorSyntax * | asParenthesizedDeclarator () |
virtual const ParenthesizedDeclaratorSyntax * | asParenthesizedDeclarator () const |
virtual ArrayOrFunctionDeclaratorSyntax * | asArrayOrFunctionDeclarator () |
virtual const ArrayOrFunctionDeclaratorSyntax * | asArrayOrFunctionDeclarator () const |
virtual DeclaratorSuffixSyntax * | asDeclaratorSuffix () |
virtual const DeclaratorSuffixSyntax * | asDeclaratorSuffix () const |
virtual SubscriptSuffixSyntax * | asSubscriptSuffix () |
virtual const SubscriptSuffixSyntax * | asSubscriptSuffix () const |
virtual ParameterSuffixSyntax * | asParameterSuffix () |
virtual const ParameterSuffixSyntax * | asParameterSuffix () const |
virtual BitfieldDeclaratorSyntax * | asBitfieldDeclarator () |
virtual const BitfieldDeclaratorSyntax * | asBitfieldDeclarator () const |
virtual InitializerSyntax * | asInitializer () |
virtual const InitializerSyntax * | asInitializer () const |
virtual ExpressionInitializerSyntax * | asExpressionInitializer () |
virtual const ExpressionInitializerSyntax * | asExpressionInitializer () const |
virtual BraceEnclosedInitializerSyntax * | asBraceEnclosedInitializer () |
virtual const BraceEnclosedInitializerSyntax * | asBraceEnclosedInitializer () const |
virtual DesignatedInitializerSyntax * | asDesignatedInitializer () |
virtual const DesignatedInitializerSyntax * | asDesignatedInitializer () const |
virtual DesignatorSyntax * | asDesignator () |
virtual const DesignatorSyntax * | asDesignator () const |
virtual ArrayDesignatorSyntax * | asArrayDesignator () |
virtual const ArrayDesignatorSyntax * | asArrayDesignator () const |
virtual FieldDesignatorSyntax * | asFieldDesignator () |
virtual const FieldDesignatorSyntax * | asFieldDesignator () const |
virtual OffsetOfDesignatorSyntax * | asOffsetOfDesignator () |
virtual const OffsetOfDesignatorSyntax * | asOffsetOfDesignator () const |
virtual ConstantExpressionSyntax * | asConstantExpression () |
virtual const ConstantExpressionSyntax * | asConstantExpression () const |
virtual StringLiteralExpressionSyntax * | asStringLiteralExpression () |
virtual const StringLiteralExpressionSyntax * | asStringLiteralExpression () const |
virtual ParenthesizedExpressionSyntax * | asParenthesizedExpression () |
virtual const ParenthesizedExpressionSyntax * | asParenthesizedExpression () const |
virtual GenericSelectionExpressionSyntax * | asGenericSelectionExpression () |
virtual const GenericSelectionExpressionSyntax * | asGenericSelectionExpression () const |
virtual GenericAssociationSyntax * | asGenericAssociation () |
virtual const GenericAssociationSyntax * | asGenericAssociation () const |
virtual ExtGNU_EnclosedCompoundStatementExpressionSyntax * | asExtGNU_EnclosedCompoundStatementExpression () |
virtual const ExtGNU_EnclosedCompoundStatementExpressionSyntax * | asExtGNU_EnclosedCompoundStatementExpression () const |
virtual ExtGNU_ComplexValuedExpressionSyntax * | asExtGNU_ComplexValuedExpression () |
virtual const ExtGNU_ComplexValuedExpressionSyntax * | asExtGNU_ComplexValuedExpression () const |
virtual NameSyntax * | asName () |
virtual const NameSyntax * | asName () const |
virtual IdentifierNameSyntax * | asIdentifierName () |
virtual const IdentifierNameSyntax * | asIdentifierName () const |
virtual PredefinedNameSyntax * | asPredefinedName () |
virtual const PredefinedNameSyntax * | asPredefinedName () const |
virtual UnaryExpressionSyntax * | asUnaryExpression () |
virtual const UnaryExpressionSyntax * | asUnaryExpression () const |
virtual PostfixUnaryExpressionSyntax * | asPostfixUnaryExpression () |
virtual const PostfixUnaryExpressionSyntax * | asPostfixUnaryExpression () const |
virtual PrefixUnaryExpressionSyntax * | asPrefixUnaryExpression () |
virtual const PrefixUnaryExpressionSyntax * | asPrefixUnaryExpression () const |
virtual MemberAccessExpressionSyntax * | asMemberAccessExpression () |
virtual const MemberAccessExpressionSyntax * | asMemberAccessExpression () const |
virtual ArraySubscriptExpressionSyntax * | asArraySubscriptExpression () |
virtual const ArraySubscriptExpressionSyntax * | asArraySubscriptExpression () const |
virtual TypeTraitExpressionSyntax * | asTypeTraitExpression () |
virtual const TypeTraitExpressionSyntax * | asTypeTraitExpression () const |
virtual CallExpressionSyntax * | asCallExpression () |
virtual const CallExpressionSyntax * | asCallExpression () const |
virtual CompoundLiteralExpressionSyntax * | asCompoundLiteralExpression () |
virtual const CompoundLiteralExpressionSyntax * | asCompoundLiteralExpression () const |
virtual CastExpressionSyntax * | asCastExpression () |
virtual const CastExpressionSyntax * | asCastExpression () const |
virtual VAArgumentExpressionSyntax * | asVAArgumentExpression () |
virtual const VAArgumentExpressionSyntax * | asVAArgumentExpression () const |
virtual OffsetOfExpressionSyntax * | asOffsetOfExpression () |
virtual const OffsetOfExpressionSyntax * | asOffsetOfExpression () const |
virtual BinaryExpressionSyntax * | asBinaryExpression () |
virtual const BinaryExpressionSyntax * | asBinaryExpression () const |
virtual ConditionalExpressionSyntax * | asConditionalExpression () |
virtual const ConditionalExpressionSyntax * | asConditionalExpression () const |
virtual AssignmentExpressionSyntax * | asAssignmentExpression () |
virtual const AssignmentExpressionSyntax * | asAssignmentExpression () const |
virtual SequencingExpressionSyntax * | asSequencingExpression () |
virtual const SequencingExpressionSyntax * | asSequencingExpression () const |
virtual ExtGNU_ChooseExpressionSyntax * | asExtGNU_ChooseExpression () |
virtual const ExtGNU_ChooseExpressionSyntax * | asExtGNU_ChooseExpression () const |
virtual StatementSyntax * | asStatement () |
virtual const StatementSyntax * | asStatement () const |
virtual CompoundStatementSyntax * | asCompoundStatement () |
virtual const CompoundStatementSyntax * | asCompoundStatement () const |
virtual DeclarationStatementSyntax * | asDeclarationStatement () |
virtual const DeclarationStatementSyntax * | asDeclarationStatement () const |
virtual ExpressionStatementSyntax * | asExpressionStatement () |
virtual const ExpressionStatementSyntax * | asExpressionStatement () const |
virtual LabeledStatementSyntax * | asLabeledStatement () |
virtual const LabeledStatementSyntax * | asLabeledStatement () const |
virtual IfStatementSyntax * | asIfStatement () |
virtual const IfStatementSyntax * | asIfStatement () const |
virtual SwitchStatementSyntax * | asSwitchStatement () |
virtual const SwitchStatementSyntax * | asSwitchStatement () const |
virtual WhileStatementSyntax * | asWhileStatement () |
virtual const WhileStatementSyntax * | asWhileStatement () const |
virtual DoStatementSyntax * | asDoStatement () |
virtual const DoStatementSyntax * | asDoStatement () const |
virtual ForStatementSyntax * | asForStatement () |
virtual const ForStatementSyntax * | asForStatement () const |
virtual GotoStatementSyntax * | asGotoStatement () |
virtual const GotoStatementSyntax * | asGotoStatement () const |
virtual ContinueStatementSyntax * | asContinueStatement () |
virtual const ContinueStatementSyntax * | asContinueStatement () const |
virtual BreakStatementSyntax * | asBreakStatement () |
virtual const BreakStatementSyntax * | asBreakStatement () const |
virtual ReturnStatementSyntax * | asReturnStatement () |
virtual const ReturnStatementSyntax * | asReturnStatement () const |
virtual ExtGNU_AsmStatementSyntax * | asExtGNU_AsmStatement () |
virtual const ExtGNU_AsmStatementSyntax * | asExtGNU_AsmStatement () const |
virtual ExtGNU_AsmQualifierSyntax * | asExtGNU_AsmQualifier () |
virtual const ExtGNU_AsmQualifierSyntax * | asExtGNU_AsmQualifier () const |
virtual ExtGNU_AsmOperandSyntax * | asExtGNU_AsmOperand () |
virtual const ExtGNU_AsmOperandSyntax * | asExtGNU_AsmOperand () const |
virtual TypeNameSyntax * | asTypeName () |
virtual const TypeNameSyntax * | asTypeName () const |
virtual TypeReferenceSyntax * | asTypeReference () |
virtual const TypeReferenceSyntax * | asTypeReference () const |
virtual ExpressionAsTypeReferenceSyntax * | asExpressionAsTypeReference () |
virtual const ExpressionAsTypeReferenceSyntax * | asExpressionAsTypeReference () const |
virtual TypeNameAsTypeReferenceSyntax * | asTypeNameAsTypeReference () |
virtual const TypeNameAsTypeReferenceSyntax * | asTypeNameAsTypeReference () const |
virtual AmbiguousTypeNameOrExpressionAsTypeReferenceSyntax * | asAmbiguousTypeNameOrExpressionAsTypeReference () |
virtual const AmbiguousTypeNameOrExpressionAsTypeReferenceSyntax * | asAmbiguousTypeNameOrExpressionAsTypeReference () const |
virtual AmbiguousCastOrBinaryExpressionSyntax * | asAmbiguousCastOrBinaryExpression () |
virtual const AmbiguousCastOrBinaryExpressionSyntax * | asAmbiguousCastOrBinaryExpression () const |
virtual AmbiguousExpressionOrDeclarationStatementSyntax * | asAmbiguousExpressionOrDeclarationStatement () |
virtual const AmbiguousExpressionOrDeclarationStatementSyntax * | asAmbiguousExpressionOrDeclarationStatement () const |
void | acceptVisitor (SyntaxVisitor *visitor) const |
Public Member Functions inherited from psy::C::Managed | |
Managed (const Managed &)=delete | |
Managed & | operator= (const Managed &)=delete |
void * | operator new (size_t size, MemoryPool *pool) |
void | operator delete (void *) |
void | operator delete (void *, MemoryPool *) |
Static Public Member Functions inherited from psy::C::SyntaxNode | |
static void | acceptVisitor (const SyntaxNode *node, SyntaxVisitor *visitor) |
template<class PtrT , class DerivedListT > | |
static void | acceptVisitor (List< PtrT, DerivedListT > *it, SyntaxVisitor *visitor) |
Protected Member Functions inherited from psy::C::SyntaxNode | |
SyntaxNode (SyntaxTree *tree, SyntaxKind kind=Error) | |
SyntaxNode (const SyntaxNode &other)=delete | |
SyntaxNode & | operator= (const SyntaxNode &other)=delete |
SyntaxToken | tokenAtIndex (LexedTokens::IndexType tkIdx) const |
SyntaxToken | findValidToken (const std::vector< SyntaxHolder > &syntaxHolders) const |
void | visitChildren (SyntaxVisitor *visitor) const |
virtual SyntaxVisitor::Action | dispatchVisit (SyntaxVisitor *visitor) const =0 |
Protected Attributes inherited from psy::C::SyntaxNode | |
SyntaxTree * | tree_ |
SyntaxKind | kind_ |
Protected Attributes inherited from psy::C::MIXIN_GNUExtensionFlag | |
LexedTokens::IndexType | extKwTkIdx_ = LexedTokens::invalidIndex() |
The UnaryExpressionSyntax class.
The base class of every expression which consists of one operand and one operator, regardless of whether the latter is prefix or postfix. For instance, both variations of increment/decrement are represented by a class that is derived from UnaryExpressionSyntax; respectively, PrefixUnaryExpressionSyntax and PostfixUnaryExpressionSyntax.
See note about the type hierarchy expressions in ExpressionSyntax.
clang::UnaryOperator
of LLVM/Clang.clang::syntax::UnaryOperatorExpression
of Clang's Libtooling.