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,
|
end,
|
||||||
|
|
||||||
return_type_get = function(self, ft)
|
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,
|
end,
|
||||||
|
|
||||||
return_default_value_get = function(self, ft)
|
return_default_value_get = function(self, ft)
|
||||||
|
@ -426,7 +430,11 @@ M.Parameter = Node:clone {
|
||||||
end,
|
end,
|
||||||
|
|
||||||
type_get = function(self)
|
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,
|
end,
|
||||||
|
|
||||||
default_value_get = function(self)
|
default_value_get = function(self)
|
||||||
|
@ -473,7 +481,11 @@ M.Event = Node:clone {
|
||||||
end,
|
end,
|
||||||
|
|
||||||
type_get = function(self)
|
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,
|
end,
|
||||||
|
|
||||||
doc_get = function(self)
|
doc_get = function(self)
|
||||||
|
@ -526,7 +538,11 @@ M.StructField = Node:clone {
|
||||||
end,
|
end,
|
||||||
|
|
||||||
type_get = function(self)
|
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
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -557,6 +573,103 @@ M.EnumField = Node:clone {
|
||||||
end
|
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 {
|
M.Typedecl = Node:clone {
|
||||||
UNKNOWN = eolian.typedecl_type.UNKNOWN,
|
UNKNOWN = eolian.typedecl_type.UNKNOWN,
|
||||||
STRUCT = eolian.typedecl_type.STRUCT,
|
STRUCT = eolian.typedecl_type.STRUCT,
|
||||||
|
@ -628,11 +741,19 @@ M.Typedecl = Node:clone {
|
||||||
end,
|
end,
|
||||||
|
|
||||||
base_type_get = function(self)
|
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,
|
end,
|
||||||
|
|
||||||
aliased_base_get = function(self)
|
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,
|
end,
|
||||||
|
|
||||||
is_extern = function(self)
|
is_extern = function(self)
|
||||||
|
@ -769,7 +890,11 @@ M.Variable = Node:clone {
|
||||||
end,
|
end,
|
||||||
|
|
||||||
base_type_get = function(self)
|
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,
|
end,
|
||||||
|
|
||||||
value_get = function(self)
|
value_get = function(self)
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
local eolian = require("eolian")
|
|
||||||
local keyref = require("docgen.keyref")
|
local keyref = require("docgen.keyref")
|
||||||
local dtree = require("docgen.doctree")
|
local dtree = require("docgen.doctree")
|
||||||
|
|
||||||
|
@ -35,17 +34,16 @@ local wrap_type_attrs = function(tp, str)
|
||||||
end
|
end
|
||||||
|
|
||||||
M.get_type_str = function(tp)
|
M.get_type_str = function(tp)
|
||||||
local tps = eolian.type_type
|
|
||||||
local tpt = tp:type_get()
|
local tpt = tp:type_get()
|
||||||
if tpt == tps.UNKNOWN then
|
if tpt == tp.UNKNOWN then
|
||||||
error("unknown type: " .. tp:full_name_get())
|
error("unknown type: " .. tp:full_name_get())
|
||||||
elseif tpt == tps.VOID then
|
elseif tpt == tp.VOID then
|
||||||
return wrap_type_attrs(tp, "void")
|
return wrap_type_attrs(tp, "void")
|
||||||
elseif tpt == tps.UNDEFINED then
|
elseif tpt == tp.UNDEFINED then
|
||||||
return wrap_type_attrs(tp, "__undefined_type")
|
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())
|
return wrap_type_attrs(tp, tp:full_name_get())
|
||||||
elseif tpt == tps.COMPLEX then
|
elseif tpt == tp.COMPLEX then
|
||||||
local stypes = {}
|
local stypes = {}
|
||||||
local stp = tp:base_type_get()
|
local stp = tp:base_type_get()
|
||||||
while stp do
|
while stp do
|
||||||
|
@ -54,18 +52,18 @@ M.get_type_str = function(tp)
|
||||||
end
|
end
|
||||||
return wrap_type_attrs(tp, tp:full_name_get() .. "<"
|
return wrap_type_attrs(tp, tp:full_name_get() .. "<"
|
||||||
.. table.concat(stypes, ", ") .. ">")
|
.. table.concat(stypes, ", ") .. ">")
|
||||||
elseif tpt == tps.POINTER then
|
elseif tpt == tp.POINTER then
|
||||||
local btp = tp:base_type_get()
|
local btp = tp:base_type_get()
|
||||||
local suffix = " *"
|
local suffix = " *"
|
||||||
if btp:type_get() == tps.POINTER then
|
if btp:type_get() == tp.POINTER then
|
||||||
suffix = "*"
|
suffix = "*"
|
||||||
end
|
end
|
||||||
return wrap_type_attrs(tp, M.get_type_str(btp) .. suffix)
|
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<"
|
return wrap_type_attrs(tp, "static_array<"
|
||||||
.. M.get_type_str(tp:base_type_get()) .. ", "
|
.. M.get_type_str(tp:base_type_get()) .. ", "
|
||||||
.. tp:array_size_get() .. ">")
|
.. tp:array_size_get() .. ">")
|
||||||
elseif tpt == tps.TERMINATED_ARRAY then
|
elseif tpt == tp.TERMINATED_ARRAY then
|
||||||
return wrap_type_attrs(tp, "terminated_array<"
|
return wrap_type_attrs(tp, "terminated_array<"
|
||||||
.. M.get_type_str(tp:base_type_get()) .. ">")
|
.. M.get_type_str(tp:base_type_get()) .. ">")
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue