Portability | ghc |
---|---|
Stability | experimental |
Maintainer | jwlato@gmail.com |
Safe Haskell | None |
- data Ident = Ident String !Int NodeInfo
- data SUERef
- isAnonymousRef :: SUERef -> Bool
- mkIdent :: Position -> String -> Name -> Ident
- builtinIdent :: String -> Ident
- internalIdent :: String -> Ident
- internalIdentAt :: Position -> String -> Ident
- isInternalIdent :: Ident -> Bool
- identToString :: Ident -> String
- dumpIdent :: Ident -> String
Documentation
C identifiers
References uniquely determining a struct, union or enum type. Those are either identified by an string identifier, or by a unique name (anonymous types).
isAnonymousRef :: SUERef -> BoolSource
Return true if the struct/union/enum reference is anonymous.
mkIdent :: Position -> String -> Name -> IdentSource
build an identifier from a string.
- only minimal error checking, e.g., the characters of the identifier are not checked for being alphanumerical only; the correct lexis of the identifier should be ensured by the caller, e.g., the scanner.
- for reasons of simplicity the complete lexeme is hashed.
builtinIdent :: String -> IdentSource
returns a builtin identifier (has builtin position and no unique name)
internalIdent :: String -> IdentSource
returns an internal identifier (has internal position and no unique name)
internalIdentAt :: Position -> String -> IdentSource
return an internal identifier with position info
isInternalIdent :: Ident -> BoolSource
return True
if the given identifier is internal
identToString :: Ident -> StringSource
string of an identifier