<commit_before>/*
 * Copyright 2008, 2009 Google Inc.
 * Copyright 2007 Nintendo Co., Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef NINTENDO_ES_ENT_H_INCLUDED
#define NINTENDO_ES_ENT_H_INCLUDED

#include <assert.h>
#include <stdint.h>
#include <new>

// Amend namespace pollution
#ifdef minor
#undef minor
#endif
#ifdef major
#undef major
#endif

namespace Ent
{
    // Primitive types
    typedef uint32_t Spec;
    static const Spec SpecPrimitive = 0x80000000u;
    static const Spec SpecS8 = SpecPrimitive | 0u;
    static const Spec SpecS16 = SpecPrimitive | 1u;
    static const Spec SpecS32 = SpecPrimitive | 2u;
    static const Spec SpecS64 = SpecPrimitive | 3u;
    static const Spec SpecU8 = SpecPrimitive | 4u;
    static const Spec SpecU16 = SpecPrimitive | 5u;
    static const Spec SpecU32 = SpecPrimitive | 6u;
    static const Spec SpecU64 = SpecPrimitive | 7u;
    static const Spec SpecF32 = SpecPrimitive | 8u;
    static const Spec SpecF64 = SpecPrimitive | 9u;
    static const Spec SpecF128 = SpecPrimitive | 10u;
    static const Spec SpecBool = SpecPrimitive | 11u;
    static const Spec SpecChar = SpecPrimitive | 12u;
    static const Spec SpecWChar = SpecPrimitive | 13u;
    static const Spec SpecVoid = SpecPrimitive | 14u;
    static const Spec SpecUuid = SpecPrimitive | 15u;
    static const Spec SpecString = SpecPrimitive | 16u;
    static const Spec SpecWString = SpecPrimitive | 17u;
    static const Spec SpecAny = SpecPrimitive | 18u;
    static const Spec SpecObject = SpecPrimitive | 19u;
    static const Spec SpecFixed = SpecPrimitive | 20u;
    static const Spec SpecValue = SpecPrimitive | 21u;
    static const Spec SpecVariant = SpecPrimitive | 22u;
    static const int MaxSpec = 23;

    // Non-primitive types
    typedef uint32_t Type;
    static const Type TypeModule = 0u;
    static const Type TypeInterface = 1u;
    static const Type TypeStructure = 2u;
    static const Type TypeException = 3u;
    static const Type TypeEnum = 4u;
    static const Type TypeArray = 5u;
    static const Type TypeSequence = 6u;
    static const int MaxType = 7;

    // Attribute bits
    static const uint32_t AttrMask =                 0x00000003;
    static const uint32_t AttrOperation =            0x00000000;
    static const uint32_t AttrGetter =               0x00000001;
    static const uint32_t AttrSetter =               0x00000002;
    static const uint32_t AttrIn =                   0x00000000;
    static const uint32_t AttrOut =                  0x00000001;
    static const uint32_t AttrInOut =                0x00000002;

    // Extended attribute bits
    // [IndexCreator], [IndexDeleter], [IndexGetter] and [IndexSetter]
    static const uint32_t IndexMask =                0x0000003c;
    static const uint32_t IndexCreator =             0x00000004;
    static const uint32_t IndexDeleter =             0x00000008;
    static const uint32_t IndexGetter =              0x00000010;
    static const uint32_t IndexSetter =              0x00000020;
    // [NameCreator], [NameDeleter], [NameGetter] and [NameSetter]
    static const uint32_t NameMask =                 0x000003c0;
    static const uint32_t NameCreator =              0x00000040;
    static const uint32_t NameDeleter =              0x00000080;
    static const uint32_t NameGetter =               0x00000100;
    static const uint32_t NameSetter =               0x00000200;
    // [NoIndexingOperations]
    static const uint32_t NoIndexingOperations =     0x00000400;
    // [Callback]
    static const uint32_t CallbackMask =             0x00000006;
    static const uint32_t Callback =                 0x00001800;
    static const uint32_t CallbackIsFunctionOnly =   0x00000800;
    static const uint32_t CallbackIsPropertyOnly =   0x00001000;
    // [NoInterfaceObject]
    static const uint32_t NoInterfaceObject =        0x00002000;
    // [PrototypeRoot ]
    static const uint32_t PrototypeRoot =            0x00004000;
    // [Null]
    static const uint32_t NullIsEmpty =              0x00008000;<commit_msg>(CallbackMask) : Fix the value.<commit_after>/*
 * Copyright 2008, 2009 Google Inc.
 * Copyright 2007 Nintendo Co., Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef NINTENDO_ES_ENT_H_INCLUDED
#define NINTENDO_ES_ENT_H_INCLUDED

#include <assert.h>
#include <stdint.h>
#include <new>

// Amend namespace pollution
#ifdef minor
#undef minor
#endif
#ifdef major
#undef major
#endif

namespace Ent
{
    // Primitive types
    typedef uint32_t Spec;
    static const Spec SpecPrimitive = 0x80000000u;
    static const Spec SpecS8 = SpecPrimitive | 0u;
    static const Spec SpecS16 = SpecPrimitive | 1u;
    static const Spec SpecS32 = SpecPrimitive | 2u;
    static const Spec SpecS64 = SpecPrimitive | 3u;
    static const Spec SpecU8 = SpecPrimitive | 4u;
    static const Spec SpecU16 = SpecPrimitive | 5u;
    static const Spec SpecU32 = SpecPrimitive | 6u;
    static const Spec SpecU64 = SpecPrimitive | 7u;
    static const Spec SpecF32 = SpecPrimitive | 8u;
    static const Spec SpecF64 = SpecPrimitive | 9u;
    static const Spec SpecF128 = SpecPrimitive | 10u;
    static const Spec SpecBool = SpecPrimitive | 11u;
    static const Spec SpecChar = SpecPrimitive | 12u;
    static const Spec SpecWChar = SpecPrimitive | 13u;
    static const Spec SpecVoid = SpecPrimitive | 14u;
    static const Spec SpecUuid = SpecPrimitive | 15u;
    static const Spec SpecString = SpecPrimitive | 16u;
    static const Spec SpecWString = SpecPrimitive | 17u;
    static const Spec SpecAny = SpecPrimitive | 18u;
    static const Spec SpecObject = SpecPrimitive | 19u;
    static const Spec SpecFixed = SpecPrimitive | 20u;
    static const Spec SpecValue = SpecPrimitive | 21u;
    static const Spec SpecVariant = SpecPrimitive | 22u;
    static const int MaxSpec = 23;

    // Non-primitive types
    typedef uint32_t Type;
    static const Type TypeModule = 0u;
    static const Type TypeInterface = 1u;
    static const Type TypeStructure = 2u;
    static const Type TypeException = 3u;
    static const Type TypeEnum = 4u;
    static const Type TypeArray = 5u;
    static const Type TypeSequence = 6u;
    static const int MaxType = 7;

    // Attribute bits
    static const uint32_t AttrMask =                 0x00000003;
    static const uint32_t AttrOperation =            0x00000000;
    static const uint32_t AttrGetter =               0x00000001;
    static const uint32_t AttrSetter =               0x00000002;
    static const uint32_t AttrIn =                   0x00000000;
    static const uint32_t AttrOut =                  0x00000001;
    static const uint32_t AttrInOut =                0x00000002;

    // Extended attribute bits
    // [IndexCreator], [IndexDeleter], [IndexGetter] and [IndexSetter]
    static const uint32_t IndexMask =                0x0000003c;
    static const uint32_t IndexCreator =             0x00000004;
    static const uint32_t IndexDeleter =             0x00000008;
    static const uint32_t IndexGetter =              0x00000010;
    static const uint32_t IndexSetter =              0x00000020;
    // [NameCreator], [NameDeleter], [NameGetter] and [NameSetter]
    static const uint32_t NameMask =                 0x000003c0;
    static const uint32_t NameCreator =              0x00000040;
    static const uint32_t NameDeleter =              0x00000080;
    static const uint32_t NameGetter =               0x00000100;
    static const uint32_t NameSetter =               0x00000200;
    // [NoIndexingOperations]
    static const uint32_t NoIndexingOperations =     0x00000400;
    // [Callback]
    static const uint32_t CallbackMask =             0x00001800;
    static const uint32_t Callback =                 0x00001800;
    static const uint32_t CallbackIsFunctionOnly =   0x00000800;
    static const uint32_t CallbackIsPropertyOnly =   0x00001000;
    // [NoInterfaceObject]
    static const uint32_t NoInterfaceObject =        0x00002000;
    // [PrototypeRoot ]
    static const uint32_t PrototypeRoot =            0x00004000;
    // [Null]
    static const uint32_t NullIsEmpty =              0x00008000;
{'fraction_non_alphanumeric': 0.058489742470536885, 'fraction_numerical': 0.08053251855085115, 'mean_word_length': 2.725609756097561, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 21, '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': '6824119', 'n_tokens_mistral': 3095, 'n_tokens_neox': 2621, 'n_words': 916}