Recall that the `structure command syntax is
leading_parser (structureTk <|> classTk) >> declId >> many Term.bracketedBinder >> optional «extends» >> Term.optType >> optional (" := " >> optional structCtor >> structFields)
- ref : Lean.Syntax
- modifiers : Lean.Elab.Modifiers
- binderInfo : Lean.BinderInfo
- declName : Lean.Name
- nameId : Lean.Syntax
Ref for the field name
- name : Lean.Name
The name of the field. (Without macro scopes.)
- rawName : Lean.Name
Same as
name
but includes macro scopes. Used for field elaboration. - binders : Lean.Syntax
- type? : Option Lean.Syntax
- value? : Option Lean.Syntax
Instances For
- parents : Array Lean.Syntax
- fields : Array Lean.Elab.Command.StructFieldView
Instances For
Equations
- Lean.Elab.Command.instInhabitedStructView = { default := { toInductiveView := default, parents := default, fields := default } }
Equations
- One or more equations did not get rendered due to their size.
Instances For
- ref : Lean.Syntax
- structName : Lean.Name
- subobject : Bool
- type : Lean.Expr
Instances For
Equations
- Lean.Elab.Command.instInhabitedStructParentInfo = { default := { ref := default, fvar? := default, structName := default, subobject := default, type := default } }
- newField: Lean.Elab.Command.StructFieldKind
- copiedField: Lean.Elab.Command.StructFieldKind
- fromParent: Lean.Elab.Command.StructFieldKind
- subobject: Lean.Name → Lean.Elab.Command.StructFieldKind
The field is an embedded parent.
Instances For
- ref : Lean.Syntax
- name : Lean.Name
- declName : Lean.Name
Name of projection function. Remark: for
fromParent
fields,declName
is only relevant in the generation of auxiliary "default value" functions. - fvar : Lean.Expr
Instances For
Instances For
Equations
- info.isSubobject = match info.kind with | Lean.Elab.Command.StructFieldKind.subobject structName => true | x => false
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]