/** * This file is part of DCD, a development tool for the D programming language. * Copyright (C) 2013 Brian Schott * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ module constants; // The lists in this module should be kept sorted. /** * Pragma arguments */ immutable string[] pragmas = [ "lib", "msg", "startaddress" ]; /** * Linkage types */ immutable string[] linkages = [ "C", "C++", "D", "Pascal", "System", "Windows", ]; /** * Traits arguments */ immutable string[] traits = [ "allMembers", "classInstanceSize", "compiles", "derivedMembers", "getAttributes", "getMember", "getOverloads", "getProtection", "getUnitTests", "getVirtualFunctions", "getVirtualIndex", "getVirtualMethods", "hasMember", "identifier", "isAbstractClass", "isAbstractFunction", "isArithmetic", "isAssociativeArray", "isFinalClass", "isFinalFunction", "isFloating", "isIntegral", "isLazy", "isNested", "isOut", "isOverrideFunction", "isPOD", "isRef", "isSame", "isScalar", "isStaticArray", "isStaticFunction", "isUnsigned", "isVirtualFunction", "isVirtualMethod", "parent" ]; /** * Scope conditions */ immutable string[] scopes = [ "exit", "failure", "success" ]; /** * Predefined version identifiers */ immutable string[] versions = [ "AArch64", "AIX", "all", "Alpha", "Alpha_HardFloat", "Alpha_SoftFloat", "Android", "ARM", "ARM_HardFloat", "ARM_SoftFloat", "ARM_SoftFP", "ARM_Thumb", "assert", "BigEndian", "BSD", "Cygwin", "D_Coverage", "D_Ddoc", "D_HardFloat", "DigitalMars", "D_InlineAsm_X86", "D_InlineAsm_X86_64", "D_LP64", "D_NoBoundsChecks", "D_PIC", "DragonFlyBSD", "D_SIMD", "D_SoftFloat", "D_Version2", "D_X32", "FreeBSD", "GNU", "Haiku", "HPPA", "HPPA64", "Hurd", "IA64", "LDC", "linux", "LittleEndian", "MIPS32", "MIPS64", "MIPS_EABI", "MIPS_HardFloat", "MIPS_N32", "MIPS_N64", "MIPS_O32", "MIPS_O64", "MIPS_SoftFloat", "NetBSD", "none", "OpenBSD", "OSX", "Posix", "PPC", "PPC64", "PPC_HardFloat", "PPC_SoftFloat", "S390", "S390X", "SDC", "SH", "SH64", "SkyOS", "Solaris", "SPARC", "SPARC64", "SPARC_HardFloat", "SPARC_SoftFloat", "SPARC_V8Plus", "SysV3", "SysV4", "unittest", "Win32", "Win64", "Windows", "X86", "X86_64" ]; /** * Properties of class types */ immutable string[] classProperties = [ "alignof", "classinfo", "init", "mangleof", "__monitor", "sizeof", "stringof", "tupleof", "__vptr", ]; /** * Properties of struct types */ immutable string[] structProperties = [ "alignof", "tupleof", "init", "mangleof", "sizeof", "stringof" ]; immutable string[] predefinedVersions; static this() { version(AArch64) predefinedVersions ~= "AArch64"; version(AIX) predefinedVersions ~= "AIX"; version(all) predefinedVersions ~= "all"; version(Alpha) predefinedVersions ~= "Alpha"; version(Alpha_HardFloat) predefinedVersions ~= "Alpha_HardFloat"; version(Alpha_SoftFloat) predefinedVersions ~= "Alpha_SoftFloat"; version(Android) predefinedVersions ~= "Android"; version(ARM) predefinedVersions ~= "ARM"; version(ARM_HardFloat) predefinedVersions ~= "ARM_HardFloat"; version(ARM_SoftFloat) predefinedVersions ~= "ARM_SoftFloat"; version(ARM_SoftFP) predefinedVersions ~= "ARM_SoftFP"; version(ARM_Thumb) predefinedVersions ~= "ARM_Thumb"; version(assert) predefinedVersions ~= "assert"; version(BigEndian) predefinedVersions ~= "BigEndian"; version(BSD) predefinedVersions ~= "BSD"; version(Cygwin) predefinedVersions ~= "Cygwin"; version(D_Coverage) predefinedVersions ~= "D_Coverage"; version(D_Ddoc) predefinedVersions ~= "D_Ddoc"; version(D_HardFloat) predefinedVersions ~= "D_HardFloat"; version(DigitalMars) predefinedVersions ~= "DigitalMars"; version(D_InlineAsm_X86) predefinedVersions ~= "D_InlineAsm_X86"; version(D_InlineAsm_X86_64) predefinedVersions ~= "D_InlineAsm_X86_64"; version(D_LP64) predefinedVersions ~= "D_LP64"; version(D_NoBoundsChecks) predefinedVersions ~= "D_NoBoundsChecks"; version(D_PIC) predefinedVersions ~= "D_PIC"; version(DragonFlyBSD) predefinedVersions ~= "DragonFlyBSD"; version(D_SIMD) predefinedVersions ~= "D_SIMD"; version(D_SoftFloat) predefinedVersions ~= "D_SoftFloat"; version(D_Version2) predefinedVersions ~= "D_Version2"; version(D_X32) predefinedVersions ~= "D_X32"; version(FreeBSD) predefinedVersions ~= "FreeBSD"; version(GNU) predefinedVersions ~= "GNU"; version(Haiku) predefinedVersions ~= "Haiku"; version(HPPA) predefinedVersions ~= "HPPA"; version(HPPA64) predefinedVersions ~= "HPPA64"; version(Hurd) predefinedVersions ~= "Hurd"; version(IA64) predefinedVersions ~= "IA64"; version(LDC) predefinedVersions ~= "LDC"; version(linux) predefinedVersions ~= "linux"; version(LittleEndian) predefinedVersions ~= "LittleEndian"; version(MIPS32) predefinedVersions ~= "MIPS32"; version(MIPS64) predefinedVersions ~= "MIPS64"; version(MIPS_EABI) predefinedVersions ~= "MIPS_EABI"; version(MIPS_HardFloat) predefinedVersions ~= "MIPS_HardFloat"; version(MIPS_N32) predefinedVersions ~= "MIPS_N32"; version(MIPS_N64) predefinedVersions ~= "MIPS_N64"; version(MIPS_O32) predefinedVersions ~= "MIPS_O32"; version(MIPS_O64) predefinedVersions ~= "MIPS_O64"; version(MIPS_SoftFloat) predefinedVersions ~= "MIPS_SoftFloat"; version(NetBSD) predefinedVersions ~= "NetBSD"; version(none) predefinedVersions ~= "none"; version(OpenBSD) predefinedVersions ~= "OpenBSD"; version(OSX) predefinedVersions ~= "OSX"; version(Posix) predefinedVersions ~= "Posix"; version(PPC) predefinedVersions ~= "PPC"; version(PPC64) predefinedVersions ~= "PPC64"; version(PPC_HardFloat) predefinedVersions ~= "PPC_HardFloat"; version(PPC_SoftFloat) predefinedVersions ~= "PPC_SoftFloat"; version(S390) predefinedVersions ~= "S390"; version(S390X) predefinedVersions ~= "S390X"; version(SDC) predefinedVersions ~= "SDC"; version(SH) predefinedVersions ~= "SH"; version(SH64) predefinedVersions ~= "SH64"; version(SkyOS) predefinedVersions ~= "SkyOS"; version(Solaris) predefinedVersions ~= "Solaris"; version(SPARC) predefinedVersions ~= "SPARC"; version(SPARC64) predefinedVersions ~= "SPARC64"; version(SPARC_HardFloat) predefinedVersions ~= "SPARC_HardFloat"; version(SPARC_SoftFloat) predefinedVersions ~= "SPARC_SoftFloat"; version(SPARC_V8Plus) predefinedVersions ~= "SPARC_V8Plus"; version(SysV3) predefinedVersions ~= "SysV3"; version(SysV4) predefinedVersions ~= "SysV4"; version(unittest) predefinedVersions ~= "unittest"; version(Win32) predefinedVersions ~= "Win32"; version(Win64) predefinedVersions ~= "Win64"; version(Windows) predefinedVersions ~= "Windows"; version(X86) predefinedVersions ~= "X86"; version(X86_64) predefinedVersions ~= "X86_64"; }