<commit_before>////////////////////////////////////////////////////////////////////////////////
//
//  TYPHOON FRAMEWORK
//  Copyright 2013, Typhoon Framework Contributors
//  All Rights Reserved.
//
//  NOTICE: The authors permit you to use, modify, and distribute this file
//  in accordance with the terms of the license agreement accompanying it.
//
////////////////////////////////////////////////////////////////////////////////


#import <Foundation/Foundation.h>
#import "TyphoonDefinition.h"

@protocol TyphoonPropertyInjection;
@protocol TyphoonInjection;
@class TyphoonComponentFactory;
@class TyphoonRuntimeArguments;

typedef void(^TyphoonInjectionsEnumerationBlock)(id injection, id*injectionToReplace, BOOL*stop);

typedef enum {
    TyphoonInjectionsEnumerationOptionProperties = 1 << 0,
    TyphoonInjectionsEnumerationOptionMethods = 1 << 2,
    TyphoonInjectionsEnumerationOptionAll = TyphoonInjectionsEnumerationOptionProperties | TyphoonInjectionsEnumerationOptionMethods,
} TyphoonInjectionsEnumerationOption;

@interface TyphoonDefinition (InstanceBuilder)

- (TyphoonMethod *)beforeInjections;
<commit_msg>[Ref]: Modified old C-style enum declaration with a new type defined one from an modern Obj-C using a NS_OPTIONS macros<commit_after>////////////////////////////////////////////////////////////////////////////////
//
//  TYPHOON FRAMEWORK
//  Copyright 2013, Typhoon Framework Contributors
//  All Rights Reserved.
//
//  NOTICE: The authors permit you to use, modify, and distribute this file
//  in accordance with the terms of the license agreement accompanying it.
//
////////////////////////////////////////////////////////////////////////////////


#import <Foundation/Foundation.h>
#import "TyphoonDefinition.h"

@protocol TyphoonPropertyInjection;
@protocol TyphoonInjection;
@class TyphoonComponentFactory;
@class TyphoonRuntimeArguments;

typedef void(^TyphoonInjectionsEnumerationBlock)(id injection, id*injectionToReplace, BOOL*stop);

typedef NS_OPTIONS(NSInteger, TyphoonInjectionsEnumerationOption) {
    TyphoonInjectionsEnumerationOptionProperties = 1 << 0,
    TyphoonInjectionsEnumerationOptionMethods = 1 << 2,
    TyphoonInjectionsEnumerationOptionAll = TyphoonInjectionsEnumerationOptionProperties | TyphoonInjectionsEnumerationOptionMethods,
};

@interface TyphoonDefinition (InstanceBuilder)

- (TyphoonMethod *)beforeInjections;

{'fraction_non_alphanumeric': 0.19966442953020133, 'fraction_numerical': 0.006711409395973154, 'mean_word_length': 2.9356435643564356, 'pattern_counts': {'":': 0, '<': 13, '<?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': '5935080', 'n_tokens_mistral': 617, 'n_tokens_neox': 581, 'n_words': 155}