@@ -257,39 +257,39 @@ export abstract class AbstractAstReflection implements AstReflection {
257257 * A map of all AST node types and their meta data.
258258 */
259259export interface AstMetaData {
260- [ type : string ] : TypeMetaData
260+ readonly [ type : string ] : TypeMetaData
261261}
262262
263263/**
264264 * Represents runtime meta data about an AST node type.
265265 */
266266export interface TypeMetaData {
267267 /** The name of this AST node type. Corresponds to the `AstNode.$type` value. */
268- name : string
268+ readonly name : string
269269 /** A list of properties with their relevant meta data. */
270- properties : {
271- [ name : string ] : PropertyMetaData
270+ readonly properties : {
271+ readonly [ name : string ] : PropertyMetaData
272272 }
273273 /** The super types of this AST node type. */
274- superTypes : string [ ]
274+ readonly superTypes : readonly string [ ]
275275}
276276
277277/**
278278 * Describes the meta data of a property of an AST node.
279279 */
280280export interface PropertyMetaData {
281281 /** The name of this property. */
282- name : string
282+ readonly name : string
283283 /**
284284 * Indicates that the property is mandatory in the AST node.
285285 * For example, if an AST node contains an array, but no elements of this array have been parsed,
286286 * we still expect an empty array instead of `undefined`.
287287 */
288- defaultValue ?: PropertyType
288+ readonly defaultValue ?: PropertyType
289289 /**
290290 * If the property is a reference, this is the type of the reference target.
291291 */
292- referenceType ?: string
292+ readonly referenceType ?: string
293293}
294294
295295/**
0 commit comments