tree-sitter-dart
Version:
Dart grammar attempt for tree-sitter
221 lines (198 loc) • 13.2 kB
Plain Text
========================================
simple flutter example
========================================
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container();
}
}
(program
(import_or_export
(library_import (import_specification (configurable_uri (uri (string_literal))))))
(function_signature (void_type) (identifier) (formal_parameter_list))
(function_body (block (expression_statement (identifier) (selector (argument_part
(arguments (argument (identifier) (selector (argument_part (arguments))))))))))
(class_definition (identifier) (superclass (type_identifier))
(class_body
(declaration (constant_constructor_signature (const_builtin) (qualified (identifier))
(formal_parameter_list (optional_formal_parameters (formal_parameter (type_identifier) (identifier)))))
(initializers (initializer_list_entry (arguments (named_argument (label (identifier)) (identifier))))))
(marker_annotation (identifier))
(method_signature (function_signature (type_identifier) (identifier)
(formal_parameter_list (formal_parameter (type_identifier) (identifier)))))
(function_body (block (return_statement (identifier) (selector (argument_part (arguments)))))))))
===============================================
ben's flutter error testing
===============================================
class CatalogThumbnailUI extends StatelessWidget {
static const routeName = '/catalog';
CatalogThumbnailUI(this.thread);
final ThreadModel thread;
@override
Widget build(BuildContext context) {
// TODO: implement build
var op = thread.posts.first;
var remainingPosts = thread.posts.getRange(1, thread.posts.length);
var previewRemaining = remainingPosts.map((f) => Column(
children: <Widget>[
Divider(),
Row(children: <Widget>[
Text(f.utc.difference(DateTime.now()).inHours.toString()),
Text(f.text),
Text('...')
],)
],
));
return Card(
child: Column(
children: <Widget>[
Expanded(child: PostUI(op, true)),
...previewRemaining
],
),
);
}
}
------------------------------
(program
(class_definition (identifier) (superclass (type_identifier))
(class_body
(declaration (const_builtin) (static_final_declaration_list (static_final_declaration (identifier) (string_literal))))
(declaration (constructor_signature (identifier)
(formal_parameter_list (formal_parameter (constructor_param (this) (identifier))))))
(declaration (final_builtin) (type_identifier) (initialized_identifier_list (initialized_identifier (identifier))))
(marker_annotation (identifier))
(method_signature
(function_signature (type_identifier) (identifier)
(formal_parameter_list (formal_parameter (type_identifier) (identifier)))))
(function_body
(block (comment)
(local_variable_declaration
(initialized_variable_definition (inferred_type) (identifier) (identifier)
(selector (unconditional_assignable_selector (identifier)))
(selector (unconditional_assignable_selector (identifier)))))
(local_variable_declaration
(initialized_variable_definition (inferred_type) (identifier) (identifier)
(selector (unconditional_assignable_selector (identifier)))
(selector (unconditional_assignable_selector (identifier)))
(selector (argument_part (arguments (argument (decimal_integer_literal)) (argument (identifier)
(selector (unconditional_assignable_selector (identifier)))
(selector (unconditional_assignable_selector (identifier)))))))))
(local_variable_declaration
(initialized_variable_definition (inferred_type) (identifier) (identifier)
(selector (unconditional_assignable_selector (identifier)))
(selector
(argument_part
(arguments
(argument
(function_expression
(formal_parameter_list (formal_parameter (identifier)))
(function_expression_body (identifier)
(selector
(argument_part
(arguments
(named_argument (label (identifier))
(list_literal
(type_arguments (type_identifier)) (identifier)
(selector (argument_part (arguments))) (identifier)
(selector
(argument_part
(arguments
(named_argument (label (identifier))
(list_literal
(type_arguments (type_identifier))
(identifier)
(selector
(argument_part
(arguments (argument (identifier)
(selector
(unconditional_assignable_selector
(identifier)))
(selector
(unconditional_assignable_selector
(identifier)))
(selector
(argument_part
(arguments (argument (identifier)
(selector
(unconditional_assignable_selector (identifier)))
(selector (argument_part (arguments)))))))
(selector
(unconditional_assignable_selector (identifier)))
(selector
(unconditional_assignable_selector (identifier)))
(selector (argument_part (arguments)))))))
(identifier)
(selector
(argument_part
(arguments (argument (identifier)
(selector
(unconditional_assignable_selector (identifier)))))))
(identifier)
(selector
(argument_part
(arguments (argument
(string_literal)))))
))))))))))))))))))
(return_statement
(identifier)
(selector
(argument_part
(arguments
(named_argument
(label (identifier))
(identifier)
(selector
(argument_part
(arguments
(named_argument (label (identifier))
(list_literal
(type_arguments (type_identifier))
(identifier)
(selector
(argument_part
(arguments
(named_argument (label (identifier))
(identifier)
(selector
(argument_part (arguments (argument (identifier)) (argument (true)))))))))
(spread_element (identifier))))))))))))
)))))
======================
Const list constructors
======================
import 'package:flutter/material.dart';
class AWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Row(
children: const [
Flexible(child: ColoredBox(color: Colors.white)),
Flexible(child: ColoredBox(color: Colors.blue))
],
);
}
}
(program
(import_or_export (library_import (import_specification (configurable_uri (uri (string_literal))))))
(class_definition (identifier) (superclass (type_identifier))
(class_body (marker_annotation (identifier))
(method_signature (function_signature (type_identifier) (identifier) (formal_parameter_list (formal_parameter (type_identifier) (identifier)))))
(function_body (block
(return_statement (identifier)
(selector (argument_part (arguments (named_argument (label (identifier))
(list_literal (const_builtin) (identifier)
(selector (argument_part (arguments (named_argument (label (identifier)) (identifier)
(selector (argument_part (arguments (named_argument (label (identifier)) (identifier)
(selector (unconditional_assignable_selector (identifier))))))))))) (identifier)
(selector (argument_part (arguments (named_argument (label (identifier)) (identifier)
(selector (argument_part (arguments (named_argument (label (identifier)) (identifier)
(selector (unconditional_assignable_selector (identifier))))))))))))))))))))))