dependencytree 0.1.9 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 032404568b7d87d3d295c46e0921f9c032191e15
|
4
|
+
data.tar.gz: 087adb18c59ddf0ea55d9848c06dc60ac2737423
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a013abcb8dcb256c6481cd80561d3eafa1294f7538038502394aeaf07cfb3ce316605162ed741901ce79c56d7e5a5eacdd4c57b15558052f19b05100030a5041
|
7
|
+
data.tar.gz: 7ae649613f10e3fbc78646eb0f742cf7f28fc1dcf31f4c60e6ba95fe47f233ee083d97d982becab39ecd20cd3794c59cae0331980c87b51dec753a1ee5733338
|
@@ -63,7 +63,45 @@ module Dependencytree
|
|
63
63
|
|
64
64
|
@@log.debug("Resolving reference array #{reference_array.to_s} as reference #{reference_part.to_s} and constant #{constant_name}")
|
65
65
|
|
66
|
-
refered_class_model =
|
66
|
+
refered_class_model = nil
|
67
|
+
|
68
|
+
# qualified (Foo::CONST) or unqualified (CONST) reference?
|
69
|
+
|
70
|
+
# try to resolve absolute (Outer::Inner1::Inner2::CONST)
|
71
|
+
if reference_part.length > 0
|
72
|
+
@@log.debug("Trying to resolve absolute")
|
73
|
+
refered_class_model = resolve_reference_direct(referer_class_model, reference_part)
|
74
|
+
end
|
75
|
+
|
76
|
+
# try to resolve relative (Inner1::Inner2::CONST)
|
77
|
+
if !refered_class_model && reference_part.length > 0
|
78
|
+
@@log.debug("Trying to resolve relative")
|
79
|
+
current = referer_class_model
|
80
|
+
while !refered_class_model && current
|
81
|
+
full_name_array = current.full_name_array
|
82
|
+
if full_name_array.last(reference_part.length) == reference_part
|
83
|
+
refered_class_model = current
|
84
|
+
break
|
85
|
+
end
|
86
|
+
current = current.parent
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
# try to resolve unqualified (CONST)
|
91
|
+
if !refered_class_model && reference_part.length == 0
|
92
|
+
@@log.debug("Trying to resolve unqualified")
|
93
|
+
current_class = referer_class_model
|
94
|
+
i = 0
|
95
|
+
while (current_class) && (!refered_class_model) do
|
96
|
+
@@log.debug("Current class #{i} is #{current_class.full_name}")
|
97
|
+
|
98
|
+
refered_class_model = current_class if current_class.constant_names.include?(constant_name)
|
99
|
+
|
100
|
+
current_class = current_class.parent
|
101
|
+
i += 1
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
67
105
|
if refered_class_model
|
68
106
|
@@log.debug("Found reference to possible parent #{reference_part.to_s}")
|
69
107
|
if refered_class_model.constant_names.include? constant_name.to_sym
|
@@ -74,6 +112,7 @@ module Dependencytree
|
|
74
112
|
nil
|
75
113
|
end
|
76
114
|
else
|
115
|
+
@@log.warn("No refered class model for #{reference_part.to_s}")
|
77
116
|
nil
|
78
117
|
end
|
79
118
|
end
|