Interface ICPPParserExtensionConfiguration

All Known Implementing Classes:
AbstractCPPParserExtensionConfiguration, ANSICPPParserExtensionConfiguration, GPPParserExtensionConfiguration, POPCPPParserExtensionConfiguration

public interface ICPPParserExtensionConfiguration
C++ parser extension configuration interface.
Since:
4.0
See Also:
  • "http://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html"
  • "http://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Extensions.html"
Restriction:
This interface is not intended to be implemented by clients. Clients can subclass AbstractCPPParserExtensionConfiguration instead.
Restriction:
This interface is not intended to be extended by clients.
  • Method Details

    • allowRestrictPointerOperators

      boolean allowRestrictPointerOperators()
      Support for GNU extension "Restricting Pointer Aliasing".
      Returns:
      true if support for the extension should be enabled
      See Also:
      • "http://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html"
    • supportExtendedTemplateSyntax

      boolean supportExtendedTemplateSyntax()
      Support for GNU extension "Extended Syntax for Template Instantiation".
      Returns:
      true if support for the extension should be enabled
      See Also:
      • "http://gcc.gnu.org/onlinedocs/gcc/Template-Instantiation.html"
    • supportComplexNumbers

      boolean supportComplexNumbers()
      Support for GNU extension "Data types for complex numbers".
      Returns:
      true if support for the extension should be enabled
      See Also:
      • "http://gcc.gnu.org/onlinedocs/gcc/Complex.html#Complex"
    • supportLongLongs

      boolean supportLongLongs()
      Support for GNU long long types.
      Returns:
      true if support for the extension should be enabled
      See Also:
      • "http://gcc.gnu.org/onlinedocs/gcc/Long-Long.html"
    • supportStatementsInExpressions

      boolean supportStatementsInExpressions()
      Support for GNU extension "Statements and Declarations in Expressions".
      Returns:
      true if support for the extension should be enabled
      See Also:
      • "http://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html"
    • supportTypeofUnaryExpressions

      boolean supportTypeofUnaryExpressions()
      Support for GNU extension "Referring to a Type with typeof".
      Returns:
      true if support for the extension should be enabled
      See Also:
      • "http://gcc.gnu.org/onlinedocs/gcc/Typeof.html"
    • supportAlignOfUnaryExpression

      boolean supportAlignOfUnaryExpression()
      Support for GNU extension "Inquiring on Alignment of Types or Variables".
      Returns:
      true if support for the extension should be enabled
      See Also:
      • "http://gcc.gnu.org/onlinedocs/gcc/Alignment.html"
    • supportKnRC

      boolean supportKnRC()
      Support for Kernighan and Richie (K&R) C.
      Returns:
      true if support for K&R C should be enabled
    • supportAttributeSpecifiers

      boolean supportAttributeSpecifiers()
      See http://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html for more information on GCC's Attribute Specifiers.
      Returns:
      true if support for the extension should be enabled
    • supportDeclspecSpecifiers

      boolean supportDeclspecSpecifiers()
      Win32 compiler extensions also supported by GCC on Win32
      Returns:
      true if support for the extension should be enabled
    • getBuiltinBindingsProvider

      IBuiltinBindingsProvider getBuiltinBindingsProvider()
      Provide additional built-in bindings.
      Returns:
      an instance of IBuiltinBindingsProvider or null
    • supportParameterInfoBlock

      boolean supportParameterInfoBlock()
      Skips information in brackets provided at the beginning of a parameter declaration:
      void accelerate([proc=marsh] const Speed &data);
      Since:
      5.1
    • supportExtendedSizeofOperator

      boolean supportExtendedSizeofOperator()
      Support additional parameters for the sizeof operator: 'sizeof' '(' typeid ',' expression-list ')'
      Since:
      5.1
    • supportFunctionStyleAssembler

      boolean supportFunctionStyleAssembler()
      Support function style assembler definitions: 'asm' ['volatile'] [return-type] name '(' parameter-list ')' '{' assembler-code '}'
      Since:
      5.1
    • supportUserDefinedLiterals

      boolean supportUserDefinedLiterals()
      Support user-defined literal expressions: (char_expr | string_expr | int_expr | float_expr) ud-suffix
      Since:
      5.11
    • getAdditionalContextSensitiveKeywords

      Map<String,IToken.ContextSensitiveTokenType> getAdditionalContextSensitiveKeywords()
      Additional variants of context-sensitive keywords.
      Since:
      5.9
    • supportGCCStyleDesignators

      boolean supportGCCStyleDesignators()
      Support for GNU extension "Designated Initializers".
      Returns:
      true if support for the extension should be enabled
      Since:
      6.0
      See Also:
      • "http://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html"
    • supportGCCOtherBuiltinSymbols

      @Deprecated boolean supportGCCOtherBuiltinSymbols()
      Deprecated.
      Restriction:
      This method is not intended to be referenced by clients.
    • supportMinAndMaxOperators

      @Deprecated boolean supportMinAndMaxOperators()
      Restriction:
      This method is not intended to be referenced by clients.
    • supportRestrictKeyword

      @Deprecated boolean supportRestrictKeyword()
      Deprecated.
      Restriction:
      This method is not intended to be referenced by clients.