q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bfeddb8e09a0fb72d4cc9768c603b1cd903597cc

commit bfeddb8e09a0fb72d4cc9768c603b1cd903597cc
Author: Daniel Kolesa <[email protected]>
Date:   Fri Mar 3 17:34:30 2017 +0100

    docgen: only parse the necessary class when generating only one
---
 src/scripts/elua/apps/docgen/doctree.lua | 12 +++++++++---
 src/scripts/elua/apps/gendoc.lua         |  2 +-
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/scripts/elua/apps/docgen/doctree.lua 
b/src/scripts/elua/apps/docgen/doctree.lua
index f4db74e..6330e56 100644
--- a/src/scripts/elua/apps/docgen/doctree.lua
+++ b/src/scripts/elua/apps/docgen/doctree.lua
@@ -1480,12 +1480,18 @@ M.scan_directory = function(dir)
     end
 end
 
-M.parse = function()
+M.parse = function(st)
     if not eolian.all_eot_files_parse() then
         error("failed parsing eo type files")
     end
-    if not eolian.all_eo_files_parse() then
-        error("failed parsing eo files")
+    if st and st:match("%.") then
+        if not eolian.file_parse(st:gsub("%.", "_"):lower() .. ".eo") then
+            error("failed parsing eo file")
+        end
+    else
+        if not eolian.all_eo_files_parse() then
+            error("failed parsing eo files")
+        end
     end
     -- build reverse inheritance hierarchy
     for cl in eolian.all_classes_get() do
diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua
index c1d3e56..4675eff 100644
--- a/src/scripts/elua/apps/gendoc.lua
+++ b/src/scripts/elua/apps/gendoc.lua
@@ -1561,7 +1561,7 @@ getopt.parse {
 
         local st = opts["pass"]
 
-        dtree.parse()
+        dtree.parse(st)
 
         if st == "clist" then
             for i, cl in ipairs(dtree.Class.all_get()) do

-- 


Reply via email to