11module DynamicExpressions
22
3- include (" Utils.jl" )
4- include (" ExtensionInterface.jl" )
5- include (" OperatorEnum.jl" )
6- include (" Node.jl" )
7- include (" NodeUtils.jl" )
8- include (" Strings.jl" )
9- include (" Evaluate.jl" )
10- include (" EvaluateDerivative.jl" )
11- include (" ChainRules.jl" )
12- include (" EvaluationHelpers.jl" )
13- include (" Simplify.jl" )
14- include (" OperatorEnumConstruction.jl" )
15- include (" Random.jl" )
3+ using DispatchDoctor: @stable , @unstable
4+
5+ @stable default_mode = " disable" begin
6+ include (" Utils.jl" )
7+ include (" ExtensionInterface.jl" )
8+ include (" OperatorEnum.jl" )
9+ include (" Node.jl" )
10+ include (" NodeUtils.jl" )
11+ include (" Strings.jl" )
12+ include (" Evaluate.jl" )
13+ include (" EvaluateDerivative.jl" )
14+ include (" ChainRules.jl" )
15+ include (" EvaluationHelpers.jl" )
16+ include (" Simplify.jl" )
17+ include (" OperatorEnumConstruction.jl" )
18+ include (" Random.jl" )
19+ include (" Expression.jl" )
20+ include (" Parse.jl" )
21+ end
1622
1723import PackageExtensionCompat: @require_extensions
1824import Reexport: @reexport
25+ macro ignore (args... ) end
26+
1927@reexport import . NodeModule:
2028 AbstractNode,
2129 AbstractExpressionNode,
@@ -26,7 +34,16 @@ import Reexport: @reexport
2634 tree_mapreduce,
2735 filter_map,
2836 filter_map!
29- import . NodeModule: constructorof, preserve_sharing
37+ import . NodeModule:
38+ constructorof,
39+ with_type_parameters,
40+ preserve_sharing,
41+ leaf_copy,
42+ branch_copy,
43+ leaf_hash,
44+ branch_hash,
45+ leaf_equal,
46+ branch_equal
3047@reexport import . NodeUtilsModule:
3148 count_nodes,
3249 count_constants,
@@ -48,6 +65,11 @@ import .NodeModule: constructorof, preserve_sharing
4865@reexport import . EvaluationHelpersModule
4966@reexport import . ExtensionInterfaceModule: node_to_symbolic, symbolic_to_node
5067@reexport import . RandomModule: NodeSampler
68+ @reexport import . ExpressionModule: AbstractExpression, Expression
69+ # Not for export; just for overloading
70+ import . ExpressionModule: get_tree, get_operators, get_variable_names, Metadata
71+ @reexport import . ParseModule: @parse_expression , parse_expression
72+ import . ParseModule: parse_leaf
5173
5274function __init__ ()
5375 @require_extensions
@@ -57,16 +79,22 @@ include("deprecated.jl")
5779
5880import TOML: parsefile
5981
60- const PACKAGE_VERSION = let
61- project = parsefile (joinpath (pkgdir (@__MODULE__ ), " Project.toml" ))
62- VersionNumber (project[" version" ])
82+ const PACKAGE_VERSION = let d = pkgdir (@__MODULE__ )
83+ try
84+ if d isa String
85+ project = parsefile (joinpath (d, " Project.toml" ))
86+ VersionNumber (project[" version" ])
87+ else
88+ v " 0.0.0"
89+ end
90+ catch
91+ v " 0.0.0"
92+ end
6393end
6494
65- macro ignore (args... ) end
6695# To get LanguageServer to register library within tests
6796@ignore include (" ../test/runtests.jl" )
6897
6998include (" precompile.jl" )
7099do_precompilation (; mode= :precompile )
71-
72100end
0 commit comments