Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/porting.md

    r3aec25f rd1ee9ec  
    3030  * Base nodes now override `const Node * accept( Visitor & v ) const = 0` with, e.g. `const Stmt * accept( Visitor & v ) const override = 0`
    3131* `PassVisitor` is replaced with `ast::Pass`
    32   * Most one shot uses can use `ast::Pass::run` and `ast::Pass::read`.
    33 
    34 `WithConstTypeSubstitution`
    35 * `env` => `typeSubs`
    3632
    3733## Structural Changes ##
     
    150146  * allows `newObject` as just default settings
    151147
    152 `FunctionDecl`
    153 * `params` and `returns` added.
    154   * Contain the declarations of the parameters and return variables.
    155   * Types should match (even be shared with) the fields of `type`.
    156 
    157148`NamedTypeDecl`
    158149* `parameters` => `params`
     
    163154`AggregateDecl`
    164155* `parameters` => `params`
    165 
    166 `StructDecl`
    167 * `makeInst` replaced by better constructor on `StructInstType`.
    168156
    169157`Expr`
     
    257245* **TODO** move `kind`, `typeNames` into code generator
    258246
    259 `ReferenceToType` => `BaseInstType`
     247`ReferenceToType`
    260248* deleted `get_baseParameters()` from children
    261249  * replace with `aggr() ? aggr()->params : nullptr`
     
    273261* `returnVals` => `returns`
    274262* `parameters` => `params`
    275   * Both now just point at types.
    276263* `bool isVarArgs;` => `enum ArgumentFlag { FixedArgs, VariableArgs }; ArgumentFlag isVarArgs;`
    277 
    278 `SueInstType`
    279 * Template class, with specializations and using to implement some other types:
    280   * `StructInstType`, `UnionInstType` & `EnumInstType`
    281264
    282265`TypeInstType`
Note: See TracChangeset for help on using the changeset viewer.