diff --git a/Project.toml b/Project.toml index a4b480f..72f1f34 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "ExpressionExplorer" uuid = "21656369-7473-754a-2065-74616d696c43" license = "MIT" -version = "1.1.3" +version = "1.1.4" authors = ["Paul Berg ", "Fons van der Plas "] [deps] diff --git a/src/explore.jl b/src/explore.jl index 4ef3525..d2f4992 100644 --- a/src/explore.jl +++ b/src/explore.jl @@ -769,7 +769,8 @@ end function explore_module!(ex::Expr, scopestate::ScopeState) # Does create it's own scope, but can import from outer scope, that's what `explore_module_definition!` is for symstate = explore_module_definition!(ex, scopestate) - return union(symstate, SymbolsState(assignments = Set{Symbol}([ex.args[2]])))::SymbolsState + module_name_num = ex.args[1] isa VersionNumber ? 3 : 2 + return union(symstate, SymbolsState(assignments = Set{Symbol}([ex.args[module_name_num]])))::SymbolsState end function explore_fallback!(ex::Expr, scopestate::ScopeState) @@ -873,7 +874,8 @@ function explore_module_definition!(ex::Expr, scopestate; module_depth::Number = return symstate elseif ex.head === :module # Explorer the block inside with one more depth added - return explore_module_definition!(ex.args[3], scopestate, module_depth = module_depth + 1) + block_num = ex.args[1] isa VersionNumber ? 4 : 3 + return explore_module_definition!(ex.args[block_num], scopestate, module_depth = module_depth + 1) elseif ex.head === :quote # TODO? Explore interpolations, modules can't be in interpolations, but `import`'s can >_> return SymbolsState()