retrieveType

Deduct the type the node represents.

pass 1, implicit anonymous structs and unions. pass 2, implicit types aka no spelling exist for them. pass 3, instansiated anonymous types and typedef of anonymous. pass 4, normal nodes, typedefs and references. passType, collect type information. The final result in most cases.

TODO add "in" to parameter c.

Nullable!TypeResults
retrieveType
(
ref const(Cursor) c
,
ref const(Container) container
,
in uint indent = 0
)
in { logNode(c, indent); if (indent == 0 && isRefNode(c.kind)) { assert (false); } }
out (result) { logTypeResult(result, indent); if (!result.isNull && indent == 0) { assertTypeResult(result.get); } }

Parameters

c
Type: const(Cursor)

cursor to retrieve from.

container
Type: const(Container)

container holding type symbols.

indent
Type: uint

?

Meta