syntax
本頁內容尚未翻譯。
cfamily.NodeId
Section titled “cfamily.NodeId”def NodeId : TypeThe editor’s label of a syntax node.
cfamily.DeclId
Section titled “cfamily.DeclId”def DeclId : TypeThe label of a declaration’s node; variables are named by it.
cfamily.Temporary.of
Section titled “cfamily.Temporary.of”def Temporary.of (n : NodeId) : DeclIdThe variable a temporary made at a node is kept in (a call’s result, the old value of x++, a conditional’s value):
the node behind #t:. A front end may label a declaration with a node’s own label, so a temporary named by the bare
node could hide that variable; no label it writes starts with #.
cfamily.Temporary.is
Section titled “cfamily.Temporary.is”def Temporary.is (x : DeclId) : BoolWhether a variable is a temporary (Temporary.of).
cfamily.UnaryOp
Section titled “cfamily.UnaryOp”data UnaryOpA unary operator: -, !, ~.
cfamily.BinaryOp
Section titled “cfamily.BinaryOp”data BinaryOpA binary operator.
cfamily.BinaryOp.symbol
Section titled “cfamily.BinaryOp.symbol”def BinaryOp.symbol (op : BinaryOp) : StringThe binary operator op as written.
cfamily.Manipulator
Section titled “cfamily.Manipulator”data ManipulatorAn iostream manipulator without arguments: floating format, alignment, base, bool, sign, prefix, case.
cfamily.Capture
Section titled “cfamily.Capture”data CaptureWhat a lambda captures ([expr.prim.lambda.capture]): every variable it uses, by copy (=) or by reference (&);
one variable by copy or by reference (its declaration and name); the object this points to.
cfamily.Field
Section titled “cfamily.Field”data FieldA member of a struct.
cfamily.StructDefinition
Section titled “cfamily.StructDefinition”data StructDefinitionA struct or union: its members in declaration order.
cfamily.Tag.isUnnamed
Section titled “cfamily.Tag.isUnnamed”def Tag.isUnnamed (name : String) : BoolWhether a struct’s or union’s name is one a front end makes up for a definition without a tag (the type of
struct { ... } v;, of an anonymous member), as clang names it: (unnamed struct at <node>), (unnamed union at <node>). No C or C++ program can write it.
cfamily.Tag.shown
Section titled “cfamily.Tag.shown”def Tag.shown (name : String) : StringA struct’s or union’s name as messages show it: a made-up one without its place, (unnamed union), as clang’s
messages write it without the source location.
cfamily.Field.isAnonymous
Section titled “cfamily.Field.isAnonymous”def Field.isAnonymous (f : Field) : BoolWhether the member f is an anonymous struct or union (C11 6.7.2.1p13, C++17 [class.union.anon]): no name, and a
struct or union type; its members are members of the struct or union it is in. An unnamed bit-field is not one.
cfamily.Enumerator
Section titled “cfamily.Enumerator”data EnumeratorAn enumeration constant, named by its declaration’s node; its value is an integer constant expression.
cfamily.TypeDefinition
Section titled “cfamily.TypeDefinition”data TypeDefinitionA type defined in a block (C11 6.7.2.1, 6.7.2.2, 6.7.8): a struct, a union, an enum or a typedef, its name in scope from its definition to the end of the block (6.2.1p4).
cfamily.Binder
Section titled “cfamily.Binder”data BinderA name a structured binding introduces: its declaration’s label and its name.
cfamily.Param
Section titled “cfamily.Param”data ParamA parameter: its declaration’s node, name, type and (C++) default argument.
cfamily.FunctionDefinition
Section titled “cfamily.FunctionDefinition”data FunctionDefinitionA function: noexcept or not, name, return type (none is void), parameters, body.
cfamily.Access
Section titled “cfamily.Access”data AccessMember access; protected members are usable by the class and its derived classes ([class.access]p1).
cfamily.MemberInit
Section titled “cfamily.MemberInit”data MemberInitAn entry of a constructor’s member initializer list: field(args), or field{xs} with a braced list (its items as a
declaration’s braced initializer, iE and nested iL; field{} has none, [class.base.init]p7).
cfamily.Virtuality
Section titled “cfamily.Virtuality”data VirtualityWhether a member function is virtual: no, virtual, override (also virtual), or pure (= 0).
cfamily.TemplateParam
Section titled “cfamily.TemplateParam”data TemplateParamA template parameter: a type parameter or a value parameter of integer type, each with an optional default ([temp.param]; a value’s default is written as tVal and may use earlier parameters).
cfamily.Base
Section titled “cfamily.Base”data BaseA base class: access, whether inherited virtually, and its name ([class.derived]).
cfamily.Member
Section titled “cfamily.Member”data MemberA member of a class: a data member (with an optional default initializer), a member function, a member function template (its parameters, [temp.mem]), a constructor (explicit or not, noexcept or not, parameters, member initializers, body), a constructor template, the destructor, or a member type.
cfamily.ClassDefinition
Section titled “cfamily.ClassDefinition”data ClassDefinitionA class: declared with class (default private) or struct (default public), its bases and members in order.
cfamily.Item
Section titled “cfamily.Item”data ItemA top-level item.
cfamily.Language
Section titled “cfamily.Language”data LanguageThe language: C11 or C++17.
cfamily.Program
Section titled “cfamily.Program”data ProgramA program: its language, items, and the Arduino board it is for (“uno”, “esp32”…; “arduino” is uno), which sets the widths of the integers and of double; without a board, plain C or C++ (LP64).
cfamily.plainProgram
Section titled “cfamily.plainProgram”def plainProgram (n : NodeId) (lang : Language) (items : List Item) : ProgramA program without a board: plain C or C++ (LP64).
cfamily.Expr.node
Section titled “cfamily.Expr.node”def Expr.node (e : Expr) : NodeIdThe node of an expression.
cfamily.Stmt.node
Section titled “cfamily.Stmt.node”def Stmt.node (s : Stmt) : NodeIdThe node of a statement.
cfamily.UB
Section titled “cfamily.UB”data UBUndefined behavior and divergences from the standard, catalogued by C11 annex J.2 as Cerberus does.
cfamily.holeReason
Section titled “cfamily.holeReason”def holeReason : StringThe reason a hole is rejected while checking; the verdict turns it into unknown.
cfamily.UB.clause
Section titled “cfamily.UB.clause”def UB.clause (u : UB) : StringThe clause of the C or C++ standard that a kind of undefined behavior or divergence comes from.