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)
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
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
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
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
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
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
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
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
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