forked from enlightenment/efl
docs: add Type to doctree and remove direct eolian api usages
This commit is contained in:
parent
e592f774ca
commit
e1a4274e97
|
@ -368,7 +368,11 @@ M.Function = Node:clone {
|
|||
end,
|
||||
|
||||
return_type_get = function(self, ft)
|
||||
return self.func:return_type_get(ft)
|
||||
local v = self.func:return_type_get(ft)
|
||||
if not v then
|
||||
return nil
|
||||
end
|
||||
return M.Type(v)
|
||||
end,
|
||||
|
||||
return_default_value_get = function(self, ft)
|
||||
|
@ -426,7 +430,11 @@ M.Parameter = Node:clone {
|
|||
end,
|
||||
|
||||
type_get = function(self)
|
||||
return self.param:type_get()
|
||||
local v = self.param:type_get()
|
||||
if not v then
|
||||
return nil
|
||||
end
|
||||
return M.Type(v)
|
||||
end,
|
||||
|
||||
default_value_get = function(self)
|
||||
|
@ -473,7 +481,11 @@ M.Event = Node:clone {
|
|||
end,
|
||||
|
||||
type_get = function(self)
|
||||
return self.event:type_get()
|
||||
local v = self.event:type_get()
|
||||
if not v then
|
||||
return nil
|
||||
end
|
||||
return M.Type(v)
|
||||
end,
|
||||
|
||||
doc_get = function(self)
|
||||
|
@ -526,7 +538,11 @@ M.StructField = Node:clone {
|
|||
end,
|
||||
|
||||
type_get = function(self)
|
||||
return self.field:type_get()
|
||||
local v = self.field:type_get()
|
||||
if not v then
|
||||
return nil
|
||||
end
|
||||
return M.Type(v)
|
||||
end
|
||||
}
|
||||
|
||||
|
@ -557,6 +573,103 @@ M.EnumField = Node:clone {
|
|||
end
|
||||
}
|
||||
|
||||
M.Type = Node:clone {
|
||||
UNKNOWN = eolian.type_type.UNKNOWN,
|
||||
VOID = eolian.type_type.VOID,
|
||||
REGULAR = eolian.type_type.REGULAR,
|
||||
COMPLEX = eolian.type_type.COMPLEX,
|
||||
POINTER = eolian.type_type.POINTER,
|
||||
CLASS = eolian.type_type.CLASS,
|
||||
STATIC_ARRAY = eolian.type_type.STATIC_ARRAY,
|
||||
TERMINATED_ARRAY = eolian.type_type.TERMINATED_ARRAY,
|
||||
UNDEFINED = eolian.type_type.UNDEFINED,
|
||||
|
||||
__ctor = function(self, tp)
|
||||
self.type = tp
|
||||
assert(self.type)
|
||||
end,
|
||||
|
||||
type_get = function(self)
|
||||
return self.type:type_get()
|
||||
end,
|
||||
|
||||
file_get = function(self)
|
||||
return self.type:file_get()
|
||||
end,
|
||||
|
||||
base_type_get = function(self)
|
||||
local v = self.type:base_type_get()
|
||||
if not v then
|
||||
return nil
|
||||
end
|
||||
return M.Type(v)
|
||||
end,
|
||||
|
||||
next_type_get = function(self)
|
||||
local v = self.type:next_type_get()
|
||||
if not v then
|
||||
return nil
|
||||
end
|
||||
return M.Type(v)
|
||||
end,
|
||||
|
||||
typedecl_get = function(self)
|
||||
local v = self.type:typedecl_get()
|
||||
if not v then
|
||||
return nil
|
||||
end
|
||||
return M.Typedecl(v)
|
||||
end,
|
||||
|
||||
aliased_base_get = function(self)
|
||||
local v = self.type:aliased_base_get()
|
||||
if not v then
|
||||
return nil
|
||||
end
|
||||
return M.Type(v)
|
||||
end,
|
||||
|
||||
class_get = function(self)
|
||||
return self.type:class_get()
|
||||
end,
|
||||
|
||||
array_size_get = function(self)
|
||||
return self.type_array_size_get()
|
||||
end,
|
||||
|
||||
is_own = function(self)
|
||||
return self.type:is_own()
|
||||
end,
|
||||
|
||||
is_const = function(self)
|
||||
return self.type:is_const()
|
||||
end,
|
||||
|
||||
is_ref = function(self)
|
||||
return self.type:is_ref()
|
||||
end,
|
||||
|
||||
c_type_get = function(self)
|
||||
return self.type:c_type_get()
|
||||
end,
|
||||
|
||||
name_get = function(self)
|
||||
return self.type:name_get()
|
||||
end,
|
||||
|
||||
full_name_get = function(self)
|
||||
return self.type:full_name_get()
|
||||
end,
|
||||
|
||||
namespaces_get = function(self)
|
||||
return self.type:namespaces_get()
|
||||
end,
|
||||
|
||||
free_func_get = function(self)
|
||||
return self.type:free_func_get()
|
||||
end
|
||||
}
|
||||
|
||||
M.Typedecl = Node:clone {
|
||||
UNKNOWN = eolian.typedecl_type.UNKNOWN,
|
||||
STRUCT = eolian.typedecl_type.STRUCT,
|
||||
|
@ -628,11 +741,19 @@ M.Typedecl = Node:clone {
|
|||
end,
|
||||
|
||||
base_type_get = function(self)
|
||||
return self.typedecl:base_type_get()
|
||||
local v = self.typedecl:base_type_get()
|
||||
if not v then
|
||||
return nil
|
||||
end
|
||||
return M.Type(v)
|
||||
end,
|
||||
|
||||
aliased_base_get = function(self)
|
||||
return self.typedecl:aliased_base_get()
|
||||
local v = self.typedecl:aliased_base_get()
|
||||
if not v then
|
||||
return nil
|
||||
end
|
||||
return M.Type(v)
|
||||
end,
|
||||
|
||||
is_extern = function(self)
|
||||
|
@ -769,7 +890,11 @@ M.Variable = Node:clone {
|
|||
end,
|
||||
|
||||
base_type_get = function(self)
|
||||
return self.variable:base_type_get()
|
||||
local v = self.variable:base_type_get()
|
||||
if not v then
|
||||
return nil
|
||||
end
|
||||
return M.Type(v)
|
||||
end,
|
||||
|
||||
value_get = function(self)
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
local eolian = require("eolian")
|
||||
local keyref = require("docgen.keyref")
|
||||
local dtree = require("docgen.doctree")
|
||||
|
||||
|
@ -35,17 +34,16 @@ local wrap_type_attrs = function(tp, str)
|
|||
end
|
||||
|
||||
M.get_type_str = function(tp)
|
||||
local tps = eolian.type_type
|
||||
local tpt = tp:type_get()
|
||||
if tpt == tps.UNKNOWN then
|
||||
if tpt == tp.UNKNOWN then
|
||||
error("unknown type: " .. tp:full_name_get())
|
||||
elseif tpt == tps.VOID then
|
||||
elseif tpt == tp.VOID then
|
||||
return wrap_type_attrs(tp, "void")
|
||||
elseif tpt == tps.UNDEFINED then
|
||||
elseif tpt == tp.UNDEFINED then
|
||||
return wrap_type_attrs(tp, "__undefined_type")
|
||||
elseif tpt == tps.REGULAR or tpt == tps.CLASS then
|
||||
elseif tpt == tp.REGULAR or tpt == tp.CLASS then
|
||||
return wrap_type_attrs(tp, tp:full_name_get())
|
||||
elseif tpt == tps.COMPLEX then
|
||||
elseif tpt == tp.COMPLEX then
|
||||
local stypes = {}
|
||||
local stp = tp:base_type_get()
|
||||
while stp do
|
||||
|
@ -54,18 +52,18 @@ M.get_type_str = function(tp)
|
|||
end
|
||||
return wrap_type_attrs(tp, tp:full_name_get() .. "<"
|
||||
.. table.concat(stypes, ", ") .. ">")
|
||||
elseif tpt == tps.POINTER then
|
||||
elseif tpt == tp.POINTER then
|
||||
local btp = tp:base_type_get()
|
||||
local suffix = " *"
|
||||
if btp:type_get() == tps.POINTER then
|
||||
if btp:type_get() == tp.POINTER then
|
||||
suffix = "*"
|
||||
end
|
||||
return wrap_type_attrs(tp, M.get_type_str(btp) .. suffix)
|
||||
elseif tpt == tps.STATIC_ARRAY then
|
||||
elseif tpt == tp.STATIC_ARRAY then
|
||||
return wrap_type_attrs(tp, "static_array<"
|
||||
.. M.get_type_str(tp:base_type_get()) .. ", "
|
||||
.. tp:array_size_get() .. ">")
|
||||
elseif tpt == tps.TERMINATED_ARRAY then
|
||||
elseif tpt == tp.TERMINATED_ARRAY then
|
||||
return wrap_type_attrs(tp, "terminated_array<"
|
||||
.. M.get_type_str(tp:base_type_get()) .. ">")
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue