<commit_before>// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

/// -----------------------------------------------------------------------
///                           ERROR HANDLING
/// -----------------------------------------------------------------------
///
/// Consumers of the AST currently need to handle two types of error cases:
/// - The "invalid" node types (e.g. [InvalidExpression])
/// - Mismatching arguments and parameters on statically resolved invocations.
///
/// Although the frontend does not yet catch all possible errors, AST consumers
/// should assume that a member reference always points to a meaningful target.
/// For instance, a [SuperInvocation] will never target an abstract method, and
/// [StaticSet] will never have a final field as a write target.  Should the
/// input contain such errors, the frontend must create an invalid node instead.
///
/// Since the frontend is not yet complete, erroneous code may slip through,
/// but this should be fixed in the frontend, not by the AST consumer.
///
/// -----------------------------------------------------------------------
///                                 NAMES
/// -----------------------------------------------------------------------
///
/// We distinguish two kinds of names, **binding names** and **cosmetic names**.
///
/// Binding names are:
/// - names used for dynamic dispatch
/// - external member names
/// - named parameter names
///
/// Cosmetic names are everything else, for example:
/// - local variable names<commit_msg>[kernel] Update name in comment.<commit_after>// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

/// -----------------------------------------------------------------------
///                           ERROR HANDLING
/// -----------------------------------------------------------------------
///
/// Consumers of the AST currently need to handle two types of error cases:
/// - The "invalid" node types (e.g. [InvalidExpression])
/// - Mismatching arguments and parameters on statically resolved invocations.
///
/// Although the frontend does not yet catch all possible errors, AST consumers
/// should assume that a member reference always points to a meaningful target.
/// For instance, a [SuperMethodInvocation] will never target an abstract
/// method, and [StaticSet] will never have a final field as a write target.
/// Should the input contain such errors, the frontend must create an invalid
/// node instead.
///
/// Since the frontend is not yet complete, erroneous code may slip through,
/// but this should be fixed in the frontend, not by the AST consumer.
///
/// -----------------------------------------------------------------------
///                                 NAMES
/// -----------------------------------------------------------------------
///
/// We distinguish two kinds of names, **binding names** and **cosmetic names**.
///
/// Binding names are:
/// - names used for dynamic dispatch
/// - external member names
/// - named parameter names
///
/// Cosmetic names are everything else, for example:
/// - local variable names
{'fraction_non_alphanumeric': 0.25569176882662, 'fraction_numerical': 0.002335084646818447, 'mean_word_length': 1.4743682310469315, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '777073', 'n_tokens_mistral': 715, 'n_tokens_neox': 685, 'n_words': 377}