<commit_before>//
//  Component.swift
//  BoundariesKit
//
//  Created by <NAME> on 9/3/15.
//  Copyright © 2015 YOPESO. All rights reserved.
//

public enum ComponentType {
    case Class
    case Struct
    case Enum
    case Protocol
    case Extension
    case Function
    case Parameter
    case Comment
    case EmptyLines
    case Repeat
    case While
    case If
    case ElseIf
    case Else
    case For
    case Switch
    case Case
    case Brace
    
    case Other
}

public class Component {
    public var parent: Component?
    public let type: ComponentType
    public let range: ComponentRange
    public var name: String?
    public var components = [Component]()
    
    public init(type: ComponentType, range: ComponentRange, name: String? = nil) {<commit_msg>Add Ternary, NilCoalescing, And, Or component types<commit_after>//
//  Component.swift
//  BoundariesKit
//
//  Created by <NAME> on 9/3/15.
//  Copyright © 2015 YOPESO. All rights reserved.
//

public enum ComponentType {
    case Class
    case Struct
    case Enum
    case Protocol
    case Extension
    case Function
    case Parameter
    case Comment
    case EmptyLines
    case Repeat
    case While
    case If
    case ElseIf
    case Else
    case For
    case Switch
    case Case
    case Brace
    case And
    case Or
    case NilCoalescing
    case Ternary
    
    case Other
}

public class Component {
    public var parent: Component?
    public let type: ComponentType
    public let range: ComponentRange
    public var name: String?
    public var components = [Component]()
    
    public init(type: ComponentType, range: ComponentRange, name: String? = nil) {
{'fraction_non_alphanumeric': 0.06156604901374776, 'fraction_numerical': 0.009563658099222952, 'mean_word_length': 2.3547094188376754, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5101784', 'n_tokens_mistral': 496, 'n_tokens_neox': 471, 'n_words': 188}