示例#1
0
 public FuncDef(DeclnSpecs specs, Declr declr, CompoundStmt stmt)
 {
     this.Specs = specs;
     this.Declr = declr;
     this.Stmt  = stmt;
 }
示例#2
0
 public static FuncDef Create(Option <DeclnSpecs> declnSpecs, Declr declr, Stmt body) =>
 new FuncDef(declnSpecs.IsSome ? declnSpecs.Value : DeclnSpecs.Empty, declr, body as CompoundStmt);
示例#3
0
 private InitDeclr(Declr declr, Option <Initr> initr)
 {
     this.Declr = declr;
     this.Initr = initr;
 }
示例#4
0
 public static InitDeclr Create(Declr declr, Option <Initr> initr)
 => new InitDeclr(declr, initr);
示例#5
0
 public static Declr Add(ImmutableList <PointerModifier> pointerModifiers, Declr declr) =>
 Create(declr.Name, declr.TypeModifiers.AddRange(pointerModifiers));
示例#6
0
 public static Declr Add(Declr declr, TypeModifier typeModifier) =>
 Create(declr.Name, declr.TypeModifiers.Add(typeModifier));
示例#7
0
 public static Declr Create(Option <ImmutableList <PointerModifier> > pointerModifiers, Declr declr) =>
 Add(pointerModifiers.IsSome ? pointerModifiers.Value : ImmutableList <PointerModifier> .Empty, declr);
示例#8
0
 public new static StructDeclr Create(Declr declr) =>
 new StructDeclr(Option.Some(declr.Name), declr.TypeModifiers, Option <Expr> .None);
示例#9
0
 public static ParamDeclr Create(Declr declr) =>
 new ParamDeclr(Option.Some(declr.Name), declr.TypeModifiers);