ruby / ruby/typeprof

Summarizing the Prism AST Coverage

Offen
#176 0 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Ruby
Sterne
833
Forks
99
Ø Merge
9 Std. 30 Min.
Gemergte PRs (30 T.)
12

Beschreibung

Hello. I'm delighted to see such a fantastic tool being developed.

It would be beneficial to indicate the current extent of typeprof's syntax support. This would demonstrate the tool's usefulness and assist those interested in contributing (I am particularly focused on the latter).

This should ideally indicate the stages of support rather than just a checklist, but as a first step, I have marked the syntax that is at least partially supported.

Coverage

  • alias_global_variable_node
  • alias_method_node
  • alternation_pattern_node
  • and_node
  • arguments_node
  • array_node
  • array_pattern_node
  • assoc_node
  • assoc_splat_node
  • back_reference_read_node
  • begin_node
  • block_argument_node
  • block_local_variable_node
  • block_node
  • block_parameter_node
  • block_parameters_node
  • break_node
  • call_and_write_node
  • call_node
  • call_operator_write_node
  • call_or_write_node
  • call_target_node
  • capture_pattern_node
  • case_match_node
  • case_node
  • class_node
  • class_variable_and_write_node
  • class_variable_operator_write_node
  • class_variable_or_write_node
  • class_variable_read_node
  • class_variable_target_node
  • class_variable_write_node
  • constant_and_write_node
  • constant_operator_write_node
  • constant_or_write_node
  • constant_path_and_write_node
  • constant_path_node
  • constant_path_operator_write_node
  • constant_path_or_write_node
  • constant_path_target_node
  • constant_path_write_node
  • constant_read_node
  • constant_target_node
  • constant_write_node
  • def_node
  • defined_node
  • else_node
  • embedded_statements_node
  • embedded_variable_node
  • ensure_node
  • false_node
  • find_pattern_node
  • flip_flop_node
  • float_node
  • for_node
  • forwarding_arguments_node
  • forwarding_parameter_node
  • forwarding_super_node
  • global_variable_and_write_node
  • global_variable_operator_write_node
  • global_variable_or_write_node
  • global_variable_read_node
  • global_variable_target_node
  • global_variable_write_node
  • hash_node
  • hash_pattern_node
  • if_node
  • imaginary_node
  • implicit_node
  • implicit_rest_node
  • in_node
  • index_and_write_node
  • index_operator_write_node
  • index_or_write_node
  • index_target_node
  • instance_variable_and_write_node
  • instance_variable_operator_write_node
  • instance_variable_or_write_node
  • instance_variable_read_node
  • instance_variable_target_node
  • instance_variable_write_node
  • integer_node
  • interpolated_match_last_line_node
  • interpolated_regular_expression_node
  • interpolated_string_node
  • interpolated_symbol_node
  • interpolated_xstring_node
  • it_parameters_node
  • keyword_hash_node
  • keyword_rest_parameter_node
  • lambda_node
  • local_variable_and_write_node
  • local_variable_operator_write_node
  • local_variable_or_write_node
  • local_variable_read_node
  • local_variable_target_node
  • local_variable_write_node
  • match_last_line_node
  • match_predicate_node
  • match_required_node
  • match_write_node
  • missing_node
  • module_node
  • multi_target_node
  • multi_write_node
  • next_node
  • nil_node
  • no_keywords_parameter_node
  • numbered_parameters_node
  • numbered_reference_read_node
  • optional_keyword_parameter_node
  • optional_parameter_node
  • or_node
  • parameters_node
  • parentheses_node
  • pinned_expression_node
  • pinned_variable_node
  • post_execution_node
  • pre_execution_node
  • program_node
  • range_node
  • rational_node
  • redo_node
  • regular_expression_node
  • required_keyword_parameter_node
  • required_parameter_node
  • rescue_modifier_node
  • rescue_node
  • rest_parameter_node
  • retry_node
  • return_node
  • self_node
  • shareable_constant_node
  • singleton_class_node
  • source_encoding_node
  • source_file_node
  • source_line_node
  • splat_node
  • statements_node
  • string_node
  • super_node
  • symbol_node
  • true_node
  • undef_node
  • unless_node
  • until_node
  • when_node
  • while_node
  • xstring_node
  • yield_node

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Es werden keine Dateien, Tests oder Einstiegspunkte genannt. Beginne damit, TypeProfs Verarbeitung des Prism AST zu finden, und vergleiche die aufgeführten Knotentypen mit der aktuellen Implementierung. Als erledigt gilt die Dokumentation des derzeitigen Unterstützungsgrads, idealerweise in Stufen statt nur als Checkliste.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ruby
Bereich
compilers
Issue-Typ
Dokumentation
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.