struct AdditionalKeywords

Declaration

struct AdditionalKeywords { /* full declaration omitted */ };

Description

Encapsulates keywords that are context sensitive or for languages not properly supported by Clang's lexer.

Declared at: clang/lib/Format/FormatToken.h:894

Member Variables

public clang::IdentifierInfo* kw_final
public clang::IdentifierInfo* kw_override
public clang::IdentifierInfo* kw_in
public clang::IdentifierInfo* kw_of
public clang::IdentifierInfo* kw_CF_CLOSED_ENUM
public clang::IdentifierInfo* kw_CF_ENUM
public clang::IdentifierInfo* kw_CF_OPTIONS
public clang::IdentifierInfo* kw_NS_CLOSED_ENUM
public clang::IdentifierInfo* kw_NS_ENUM
public clang::IdentifierInfo* kw_NS_OPTIONS
public clang::IdentifierInfo* kw___except
public clang::IdentifierInfo* kw___has_include
public clang::IdentifierInfo* kw___has_include_next
public clang::IdentifierInfo* kw_as
public clang::IdentifierInfo* kw_async
public clang::IdentifierInfo* kw_await
public clang::IdentifierInfo* kw_declare
public clang::IdentifierInfo* kw_finally
public clang::IdentifierInfo* kw_from
public clang::IdentifierInfo* kw_function
public clang::IdentifierInfo* kw_get
public clang::IdentifierInfo* kw_import
public clang::IdentifierInfo* kw_infer
public clang::IdentifierInfo* kw_is
public clang::IdentifierInfo* kw_let
public clang::IdentifierInfo* kw_module
public clang::IdentifierInfo* kw_readonly
public clang::IdentifierInfo* kw_set
public clang::IdentifierInfo* kw_type
public clang::IdentifierInfo* kw_typeof
public clang::IdentifierInfo* kw_var
public clang::IdentifierInfo* kw_yield
public clang::IdentifierInfo* kw_abstract
public clang::IdentifierInfo* kw_assert
public clang::IdentifierInfo* kw_extends
public clang::IdentifierInfo* kw_implements
public clang::IdentifierInfo* kw_instanceof
public clang::IdentifierInfo* kw_interface
public clang::IdentifierInfo* kw_native
public clang::IdentifierInfo* kw_package
public clang::IdentifierInfo* kw_synchronized
public clang::IdentifierInfo* kw_throws
public clang::IdentifierInfo* kw_mark
public clang::IdentifierInfo* kw_region
public clang::IdentifierInfo* kw_extend
public clang::IdentifierInfo* kw_option
public clang::IdentifierInfo* kw_optional
public clang::IdentifierInfo* kw_repeated
public clang::IdentifierInfo* kw_required
public clang::IdentifierInfo* kw_returns
public clang::IdentifierInfo* kw_signals
public clang::IdentifierInfo* kw_qsignals
public clang::IdentifierInfo* kw_slots
public clang::IdentifierInfo* kw_qslots
public clang::IdentifierInfo* kw_internal_ident_after_define
public clang::IdentifierInfo* kw_dollar
public clang::IdentifierInfo* kw_base
public clang::IdentifierInfo* kw_byte
public clang::IdentifierInfo* kw_checked
public clang::IdentifierInfo* kw_decimal
public clang::IdentifierInfo* kw_delegate
public clang::IdentifierInfo* kw_event
public clang::IdentifierInfo* kw_fixed
public clang::IdentifierInfo* kw_foreach
public clang::IdentifierInfo* kw_implicit
public clang::IdentifierInfo* kw_init
public clang::IdentifierInfo* kw_internal
public clang::IdentifierInfo* kw_lock
public clang::IdentifierInfo* kw_null
public clang::IdentifierInfo* kw_object
public clang::IdentifierInfo* kw_out
public clang::IdentifierInfo* kw_params
public clang::IdentifierInfo* kw_ref
public clang::IdentifierInfo* kw_string
public clang::IdentifierInfo* kw_stackalloc
public clang::IdentifierInfo* kw_sbyte
public clang::IdentifierInfo* kw_sealed
public clang::IdentifierInfo* kw_uint
public clang::IdentifierInfo* kw_ulong
public clang::IdentifierInfo* kw_unchecked
public clang::IdentifierInfo* kw_unsafe
public clang::IdentifierInfo* kw_ushort
public clang::IdentifierInfo* kw_when
public clang::IdentifierInfo* kw_where
public clang::IdentifierInfo* kw_always
public clang::IdentifierInfo* kw_always_comb
public clang::IdentifierInfo* kw_always_ff
public clang::IdentifierInfo* kw_always_latch
public clang::IdentifierInfo* kw_assign
public clang::IdentifierInfo* kw_assume
public clang::IdentifierInfo* kw_automatic
public clang::IdentifierInfo* kw_before
public clang::IdentifierInfo* kw_begin
public clang::IdentifierInfo* kw_begin_keywords
public clang::IdentifierInfo* kw_bins
public clang::IdentifierInfo* kw_binsof
public clang::IdentifierInfo* kw_casex
public clang::IdentifierInfo* kw_casez
public clang::IdentifierInfo* kw_celldefine
public clang::IdentifierInfo* kw_checker
public clang::IdentifierInfo* kw_clocking
public clang::IdentifierInfo* kw_constraint
public clang::IdentifierInfo* kw_cover
public clang::IdentifierInfo* kw_covergroup
public clang::IdentifierInfo* kw_coverpoint
public clang::IdentifierInfo* kw_default_decay_time
public clang::IdentifierInfo* kw_default_nettype
public clang::IdentifierInfo* kw_default_trireg_strength
public clang::IdentifierInfo* kw_delay_mode_distributed
public clang::IdentifierInfo* kw_delay_mode_path
public clang::IdentifierInfo* kw_delay_mode_unit
public clang::IdentifierInfo* kw_delay_mode_zero
public clang::IdentifierInfo* kw_disable
public clang::IdentifierInfo* kw_dist
public clang::IdentifierInfo* kw_elsif
public clang::IdentifierInfo* kw_end
public clang::IdentifierInfo* kw_end_keywords
public clang::IdentifierInfo* kw_endcase
public clang::IdentifierInfo* kw_endcelldefine
public clang::IdentifierInfo* kw_endchecker
public clang::IdentifierInfo* kw_endclass
public clang::IdentifierInfo* kw_endclocking
public clang::IdentifierInfo* kw_endfunction
public clang::IdentifierInfo* kw_endgenerate
public clang::IdentifierInfo* kw_endgroup
public clang::IdentifierInfo* kw_endinterface
public clang::IdentifierInfo* kw_endmodule
public clang::IdentifierInfo* kw_endpackage
public clang::IdentifierInfo* kw_endprimitive
public clang::IdentifierInfo* kw_endprogram
public clang::IdentifierInfo* kw_endproperty
public clang::IdentifierInfo* kw_endsequence
public clang::IdentifierInfo* kw_endspecify
public clang::IdentifierInfo* kw_endtable
public clang::IdentifierInfo* kw_endtask
public clang::IdentifierInfo* kw_forever
public clang::IdentifierInfo* kw_fork
public clang::IdentifierInfo* kw_generate
public clang::IdentifierInfo* kw_highz0
public clang::IdentifierInfo* kw_highz1
public clang::IdentifierInfo* kw_iff
public clang::IdentifierInfo* kw_ifnone
public clang::IdentifierInfo* kw_ignore_bins
public clang::IdentifierInfo* kw_illegal_bins
public clang::IdentifierInfo* kw_initial
public clang::IdentifierInfo* kw_inout
public clang::IdentifierInfo* kw_input
public clang::IdentifierInfo* kw_inside
public clang::IdentifierInfo* kw_interconnect
public clang::IdentifierInfo* kw_intersect
public clang::IdentifierInfo* kw_join
public clang::IdentifierInfo* kw_join_any
public clang::IdentifierInfo* kw_join_none
public clang::IdentifierInfo* kw_large
public clang::IdentifierInfo* kw_local
public clang::IdentifierInfo* kw_localparam
public clang::IdentifierInfo* kw_macromodule
public clang::IdentifierInfo* kw_matches
public clang::IdentifierInfo* kw_medium
public clang::IdentifierInfo* kw_nounconnected_drive
public clang::IdentifierInfo* kw_output
public clang::IdentifierInfo* kw_packed
public clang::IdentifierInfo* kw_parameter
public clang::IdentifierInfo* kw_primitive
public clang::IdentifierInfo* kw_priority
public clang::IdentifierInfo* kw_program
public clang::IdentifierInfo* kw_property
public clang::IdentifierInfo* kw_pull0
public clang::IdentifierInfo* kw_pull1
public clang::IdentifierInfo* kw_pure
public clang::IdentifierInfo* kw_rand
public clang::IdentifierInfo* kw_randc
public clang::IdentifierInfo* kw_randcase
public clang::IdentifierInfo* kw_randsequence
public clang::IdentifierInfo* kw_repeat
public clang::IdentifierInfo* kw_resetall
public clang::IdentifierInfo* kw_sample
public clang::IdentifierInfo* kw_scalared
public clang::IdentifierInfo* kw_sequence
public clang::IdentifierInfo* kw_small
public clang::IdentifierInfo* kw_soft
public clang::IdentifierInfo* kw_solve
public clang::IdentifierInfo* kw_specify
public clang::IdentifierInfo* kw_specparam
public clang::IdentifierInfo* kw_strong0
public clang::IdentifierInfo* kw_strong1
public clang::IdentifierInfo* kw_supply0
public clang::IdentifierInfo* kw_supply1
public clang::IdentifierInfo* kw_table
public clang::IdentifierInfo* kw_tagged
public clang::IdentifierInfo* kw_task
public clang::IdentifierInfo* kw_timescale
public clang::IdentifierInfo* kw_tri0
public clang::IdentifierInfo* kw_tri1
public clang::IdentifierInfo* kw_tri
public clang::IdentifierInfo* kw_triand
public clang::IdentifierInfo* kw_trior
public clang::IdentifierInfo* kw_trireg
public clang::IdentifierInfo* kw_unconnected_drive
public clang::IdentifierInfo* kw_undefineall
public clang::IdentifierInfo* kw_unique
public clang::IdentifierInfo* kw_unique0
public clang::IdentifierInfo* kw_uwire
public clang::IdentifierInfo* kw_vectored
public clang::IdentifierInfo* kw_wand
public clang::IdentifierInfo* kw_weak0
public clang::IdentifierInfo* kw_weak1
public clang::IdentifierInfo* kw_wildcard
public clang::IdentifierInfo* kw_wire
public clang::IdentifierInfo* kw_with
public clang::IdentifierInfo* kw_wor
public clang::IdentifierInfo* kw_verilogHash
public clang::IdentifierInfo* kw_verilogHashHash
private std::unordered_set<IdentifierInfo*> JsExtraKeywords
The JavaScript keywords beyond the C++ keyword set.
private std::unordered_set<IdentifierInfo*> CSharpExtraKeywords
The C# keywords beyond the C++ keyword set
private std::unordered_set<IdentifierInfo*> VerilogExtraKeywords
The Verilog keywords beyond the C++ keyword set.

Method Overview

  • public AdditionalKeywords(clang::IdentifierTable & IdentTable)
  • public bool IsJavaScriptIdentifier(const clang::format::FormatToken & Tok, bool AcceptIdentifierName = true) const
  • public bool isBlockBegin(const clang::format::FormatToken & Tok, const clang::format::FormatStyle & Style) const
  • public bool isCSharpKeyword(const clang::format::FormatToken & Tok) const
  • public bool isVerilogBegin(const clang::format::FormatToken & Tok) const
  • public bool isVerilogEnd(const clang::format::FormatToken & Tok) const
  • public bool isVerilogIdentifier(const clang::format::FormatToken & Tok) const
  • public bool isVerilogPPDirective(const clang::format::FormatToken & Tok) const
  • public bool isWordLike(const clang::format::FormatToken & Tok) const

Methods

AdditionalKeywords(
    clang::IdentifierTable& IdentTable)

Declared at: clang/lib/Format/FormatToken.h:895

Parameters

clang::IdentifierTable& IdentTable

bool IsJavaScriptIdentifier(
    const clang::format::FormatToken& Tok,
    bool AcceptIdentifierName = true) const

Description

Returns \c true if \p Tok is a true JavaScript identifier, returns\c false if it is a keyword or a pseudo keyword. If \c AcceptIdentifierName is true, returns true not only for keywords,

Declared at: clang/lib/Format/FormatToken.h:1526

Parameters

const clang::format::FormatToken& Tok
bool AcceptIdentifierName = true

bool isBlockBegin(
    const clang::format::FormatToken& Tok,
    const clang::format::FormatStyle& Style) const

Description

Whether the token begins a block.

Declared at: clang/lib/Format/FormatToken.h:1728

Parameters

const clang::format::FormatToken& Tok
const clang::format::FormatStyle& Style

bool isCSharpKeyword(
    const clang::format::FormatToken& Tok) const

Description

Returns \c true if \p Tok is a C# keyword, returns\c false if it is a anything else.

Declared at: clang/lib/Format/FormatToken.h:1593

Parameters

const clang::format::FormatToken& Tok

bool isVerilogBegin(
    const clang::format::FormatToken& Tok) const

Description

Returns whether \p Tok is a Verilog keyword that opens a block.

Declared at: clang/lib/Format/FormatToken.h:1709

Parameters

const clang::format::FormatToken& Tok

bool isVerilogEnd(
    const clang::format::FormatToken& Tok) const

Description

Returns whether \p Tok is a Verilog keyword that closes a block.

Declared at: clang/lib/Format/FormatToken.h:1716

Parameters

const clang::format::FormatToken& Tok

bool isVerilogIdentifier(
    const clang::format::FormatToken& Tok) const

Declared at: clang/lib/Format/FormatToken.h:1647

Parameters

const clang::format::FormatToken& Tok

bool isVerilogPPDirective(
    const clang::format::FormatToken& Tok) const

Description

Returns whether \p Tok is a Verilog preprocessor directive. This is needed because macro expansions start with a backtick as well and they need to be treated differently.

Declared at: clang/lib/Format/FormatToken.h:1682

Parameters

const clang::format::FormatToken& Tok

bool isWordLike(
    const clang::format::FormatToken& Tok) const

Description

Returns \c true if \p Tok is a keyword or an identifier.

Declared at: clang/lib/Format/FormatToken.h:1515

Parameters

const clang::format::FormatToken& Tok