def classification_by_name(classification_name): if classification_name is None: return None for classification in SYNTAX_CLASSIFICATIONS: if classification.name == classification_name: return classification error("Unknown syntax classification '%s'" % classification_name)
def verify_no_duplicate_serialization_codes(tokens): used_codes = set() for token in tokens: if token.serialization_code in used_codes: error("Serialization code %d used twice for tokens" % token.serialization_code) used_codes.add(token.serialization_code)
def verify_no_duplicate_serialization_codes(trivias): used_codes = set() for trivia in trivias: if trivia.serialization_code in used_codes: error("Serialization code %d used twice for trivia" % trivia.serialization_code) used_codes.add(trivia.serialization_code)
def verify_no_duplicate_serialization_codes(tokens): used_codes = set() for token in tokens: if token.serialization_code in used_codes: error("Serialization code %d used twice for tokens" % token.serialization_code) used_codes.add(token.serialization_code)
def classification_by_name(classification_name): if classification_name is None: return None for classification in SYNTAX_CLASSIFICATIONS: if classification.name == classification_name: return classification error("Unknown syntax classification '%s'" % classification_name)
def verify_syntax_node_serialization_codes(nodes, serialization_codes): # Verify that all nodes have serialization codes for node in nodes: if not node.is_base() and node.syntax_kind not in serialization_codes: error('Node %s has no serialization code' % node.syntax_kind) # Verify that no serialization code is used twice used_codes = set() for serialization_code in serialization_codes.values(): if serialization_code in used_codes: error("Serialization code %d used twice" % serialization_code) used_codes.add(serialization_code)
def verify_syntax_node_serialization_codes(nodes, serialization_codes): # Verify that all nodes have serialization codes for node in nodes: if not node.is_base() and node.syntax_kind not in serialization_codes: error('Node %s has no serialization code' % node.syntax_kind) # Verify that no serialization code is used twice used_codes = set() for serialization_code in serialization_codes.values(): if serialization_code in used_codes: error("Serialization code %d used twice" % serialization_code) used_codes.add(serialization_code)