Add support for char enums - #119
This commit is contained in:
parent
2679833d22
commit
f8c433832e
4 changed files with 13 additions and 3 deletions
|
|
@ -52,7 +52,7 @@ proc saveNodeData(node: TSNode, nimState: NimState): bool =
|
||||||
nimState.data.insert(("pointer_declarator", ""), nimState.data.len-1)
|
nimState.data.insert(("pointer_declarator", ""), nimState.data.len-1)
|
||||||
nimState.data.add(("function_declarator", ""))
|
nimState.data.add(("function_declarator", ""))
|
||||||
|
|
||||||
elif name in gExpressions:
|
elif name in gExpressions and name != "escape_sequence":
|
||||||
if $node.tsNodeParent.tsNodeType() notin gExpressions:
|
if $node.tsNodeParent.tsNodeType() notin gExpressions:
|
||||||
nimState.data.add((name, node.getNodeVal()))
|
nimState.data.add((name, node.getNodeVal()))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ const
|
||||||
"field_identifier",
|
"field_identifier",
|
||||||
"identifier",
|
"identifier",
|
||||||
"number_literal",
|
"number_literal",
|
||||||
|
"char_literal",
|
||||||
"preproc_arg",
|
"preproc_arg",
|
||||||
"primitive_type",
|
"primitive_type",
|
||||||
"sized_type_specifier",
|
"sized_type_specifier",
|
||||||
|
|
@ -22,12 +23,14 @@ const
|
||||||
"parenthesized_expression",
|
"parenthesized_expression",
|
||||||
"bitwise_expression",
|
"bitwise_expression",
|
||||||
"shift_expression",
|
"shift_expression",
|
||||||
"math_expression"
|
"math_expression",
|
||||||
|
"escape_sequence"
|
||||||
].toSet()
|
].toSet()
|
||||||
|
|
||||||
gEnumVals {.used.} = @[
|
gEnumVals {.used.} = @[
|
||||||
"identifier",
|
"identifier",
|
||||||
"number_literal"
|
"number_literal",
|
||||||
|
"char_literal"
|
||||||
].concat(toSeq(gExpressions.items))
|
].concat(toSeq(gExpressions.items))
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,11 @@ enum ENUM5 {
|
||||||
enum15 = (1 << (1 & 1))
|
enum15 = (1 << (1 & 1))
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum ENUM7 {
|
||||||
|
enum17 = '\0',
|
||||||
|
enum18 = 'A'
|
||||||
|
};
|
||||||
|
|
||||||
typedef void * VOIDPTR;
|
typedef void * VOIDPTR;
|
||||||
typedef int * INTPTR;
|
typedef int * INTPTR;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,8 @@ check e4 == enum11
|
||||||
check enum13 == 4
|
check enum13 == 4
|
||||||
check enum14 == 9
|
check enum14 == 9
|
||||||
check enum15 == 2
|
check enum15 == 2
|
||||||
|
check enum17 == '\0'.ENUM7
|
||||||
|
check enum18 == 'A'.ENUM7
|
||||||
|
|
||||||
# Issue #58
|
# Issue #58
|
||||||
multiline1()
|
multiline1()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue