diff --git a/nimterop/ast2.nim b/nimterop/ast2.nim index 4c06cc6..aa0e8d8 100644 --- a/nimterop/ast2.nim +++ b/nimterop/ast2.nim @@ -106,7 +106,7 @@ proc newConstDef(gState: State, node: TSNode, fname = "", fval = ""): PNode = if not maybeTyNode.isNil: let name = maybeTyNode.getName() case name - of "type_descriptor", "sized_type_specifier": + of "type_descriptor", "sized_type_specifier", "primitive_type": discard else: # Can't do gState.parseCExpression(root) here for some reason? diff --git a/nimterop/exprparser.nim b/nimterop/exprparser.nim index 5372c2f..b0c34c1 100644 --- a/nimterop/exprparser.nim +++ b/nimterop/exprparser.nim @@ -549,6 +549,17 @@ proc processTSNode(gState: State, node: TSNode, typeofNode: var PNode): PNode = # Output -> true, false result = gState.parseString(node.val) of "type_descriptor": + # Input => int* + # (type_descriptor 1 2 4 "int*" + # (type_identifier 1 2 3 "int") + # (abstract_pointer_declarator 1 3 1 "*") + # ) + # + # Output => ptr int + # + # nkPtrTy( + # nkIdent("int") + # ) let pointerDecl = node.anyChildInTree("abstract_pointer_declarator") if pointerDecl.isNil: