Convert to JSON-serializable map
@override Map<String, dynamic> toJson() => { 'nodeType': nodeType, 'offset': offset, 'length': length, 'pattern': pattern.toJson(), };