-- | -- Module : Language.Thrift.Internal.Reserved -- Copyright : (c) Abhinav Gupta 2016 -- License : BSD3 -- -- Maintainer : Abhinav Gupta -- Stability : experimental -- -- This module provides information about reserved Thrift identifiers. module Language.Thrift.Internal.Reserved ( isReserved ) where import Data.Set (Set) import qualified Data.Set as Set isReserved :: String -> Bool isReserved = (`Set.member` reservedKeywords) reservedKeywords :: Set String reservedKeywords = Set.fromList [ "include" , "namespace" , "cpp_namespace" , "php_namespace" , "py_module" , "perl_package" , "ruby_namespace" , "java_package" , "cocoa_package" , "csharp_namespace" , "typedef" , "enum" , "struct" , "union" , "exception" , "required" , "optional" , "senum" , "const" , "string" , "binary" , "slist" , "bool" , "byte" , "i8" , "i16" , "i32" , "i64" , "double" , "map" , "set" , "list" , "service" , "extends" , "oneway" , "void" , "throws" ]