diff options
| author | Hannes Schulze <haschu0103@outlook.de> | 2024-08-14 21:00:55 +0200 |
|---|---|---|
| committer | Hannes Schulze <haschu0103@outlook.de> | 2024-08-14 21:00:55 +0200 |
| commit | 53c274ad747bfbac34e979bee5f0841f9568c89f (patch) | |
| tree | e6712c05aba55600534816d5984b7f102c616e7a /protocols/codegen/Wayland/CodeGen/Utils.hs | |
| parent | f4f93ad6e9289d499e1f4c6cf7f9581e622f2d26 (diff) | |
finish codegen
Diffstat (limited to 'protocols/codegen/Wayland/CodeGen/Utils.hs')
| -rw-r--r-- | protocols/codegen/Wayland/CodeGen/Utils.hs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/protocols/codegen/Wayland/CodeGen/Utils.hs b/protocols/codegen/Wayland/CodeGen/Utils.hs index fa04286..9f43ab0 100644 --- a/protocols/codegen/Wayland/CodeGen/Utils.hs +++ b/protocols/codegen/Wayland/CodeGen/Utils.hs @@ -66,14 +66,15 @@ resolveInterfaceTypes i = do mapM_ (\m -> resolveAndAssign (resolveMessageType m) (assignRequestArgs (msgName m))) (ifRequests i) mapM_ (\e -> resolveAndAssign (resolveEnumType e) (assignEnumName (enumName e))) (ifEnums i) -resolveMessageType :: MessageDesc -> State TypeInfo ArgumentMode +resolveMessageType :: MessageDesc -> State TypeInfo ArgumentName resolveMessageType m = case msgArguments m of - [] -> pure ArgumentModeNone - [a] -> pure $ ArgumentModeSingle a - as -> ArgumentModeRecord as <$> getFreeTypeName (pascalCase (msgName m)) Nothing + [] -> pure ArgumentNameNone + [a] -> pure $ ArgumentNameSingle a + as -> ArgumentNameRecord as <$> getFreeTypeName (pascalCase (msgName m)) Nothing -resolveEnumType :: EnumDesc -> State TypeInfo String -resolveEnumType e = getFreeTypeName (pascalCase (enumName e)) $ if enumBitfield e then Just "Flags" else Nothing +resolveEnumType :: EnumDesc -> State TypeInfo EnumName +resolveEnumType e = EnumName e <$> name + where name = getFreeTypeName (pascalCase (enumName e)) $ if enumBitfield e then Just "Flag" else Nothing getFreeTypeName :: String -> Maybe String -> State TypeInfo String getFreeTypeName requested conflictSuffix = attemptRequested |
