Changes in src/AST/porting.md [3aec25f:d1ee9ec]
- File:
-
- 1 edited
-
src/AST/porting.md (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/AST/porting.md
r3aec25f rd1ee9ec 30 30 * Base nodes now override `const Node * accept( Visitor & v ) const = 0` with, e.g. `const Stmt * accept( Visitor & v ) const override = 0` 31 31 * `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`36 32 37 33 ## Structural Changes ## … … 150 146 * allows `newObject` as just default settings 151 147 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 157 148 `NamedTypeDecl` 158 149 * `parameters` => `params` … … 163 154 `AggregateDecl` 164 155 * `parameters` => `params` 165 166 `StructDecl`167 * `makeInst` replaced by better constructor on `StructInstType`.168 156 169 157 `Expr` … … 257 245 * **TODO** move `kind`, `typeNames` into code generator 258 246 259 `ReferenceToType` => `BaseInstType`247 `ReferenceToType` 260 248 * deleted `get_baseParameters()` from children 261 249 * replace with `aggr() ? aggr()->params : nullptr` … … 273 261 * `returnVals` => `returns` 274 262 * `parameters` => `params` 275 * Both now just point at types.276 263 * `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`281 264 282 265 `TypeInstType`
Note:
See TracChangeset
for help on using the changeset viewer.