mirror of
https://github.com/revanced/Apktool.git
synced 2025-05-01 22:54:24 +02:00
fix: remove unneeded depth/logic in serializer
This commit is contained in:
parent
2e3f22af7c
commit
0645821883
@ -411,14 +411,6 @@ public class MXSerializer implements XmlSerializer {
|
|||||||
throw new IllegalArgumentException("prefix must be not null" + getLocation());
|
throw new IllegalArgumentException("prefix must be not null" + getLocation());
|
||||||
}
|
}
|
||||||
|
|
||||||
// check that prefix is not duplicated ...
|
|
||||||
for (int i = elNamespaceCount[depth]; i < namespaceEnd; i++) {
|
|
||||||
if (prefix == namespacePrefix[i]) {
|
|
||||||
// Toss out extra namespaces at same depth to fix #1456
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!namesInterned) {
|
if (!namesInterned) {
|
||||||
namespace = namespace.intern();
|
namespace = namespace.intern();
|
||||||
} else if (checkNamesInterned) {
|
} else if (checkNamesInterned) {
|
||||||
@ -461,16 +453,12 @@ public class MXSerializer implements XmlSerializer {
|
|||||||
|
|
||||||
// first check if namespace is already in scope
|
// first check if namespace is already in scope
|
||||||
for (int i = namespaceEnd - 1; i >= 0; --i) {
|
for (int i = namespaceEnd - 1; i >= 0; --i) {
|
||||||
if (namespace == namespaceUri[i]) {
|
if (namespace.equals(namespaceUri[i])) {
|
||||||
final String prefix = namespacePrefix[i];
|
final String prefix = namespacePrefix[i];
|
||||||
if (nonEmpty && prefix.length() == 0)
|
if (nonEmpty && prefix.length() == 0) {
|
||||||
continue;
|
continue;
|
||||||
// now check that prefix is still in scope
|
|
||||||
for (int p = namespaceEnd - 1; p > i; --p) {
|
|
||||||
if (prefix == namespacePrefix[p]) {
|
|
||||||
// too bad - prefix is redeclared with different namespace
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return prefix;
|
return prefix;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -483,30 +471,21 @@ public class MXSerializer implements XmlSerializer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String generatePrefix(String namespace) {
|
private String generatePrefix(String namespace) {
|
||||||
while (true) {
|
++autoDeclaredPrefixes;
|
||||||
++autoDeclaredPrefixes;
|
// fast lookup uses table that was pre-initialized in static{} ....
|
||||||
// fast lookup uses table that was pre-initialized in static{} ....
|
final String prefix = autoDeclaredPrefixes < precomputedPrefixes.length
|
||||||
final String prefix = autoDeclaredPrefixes < precomputedPrefixes.length
|
? precomputedPrefixes[autoDeclaredPrefixes]
|
||||||
? precomputedPrefixes[autoDeclaredPrefixes]
|
: ("n" + autoDeclaredPrefixes).intern();
|
||||||
: ("n" + autoDeclaredPrefixes).intern();
|
|
||||||
|
|
||||||
// make sure this prefix is not declared in any scope (avoid hiding in-scope prefixes)!
|
// declare prefix
|
||||||
for (int i = namespaceEnd - 1; i >= 0; --i) {
|
if (namespaceEnd >= namespacePrefix.length) {
|
||||||
if (prefix == namespacePrefix[i]) {
|
ensureNamespacesCapacity();
|
||||||
// prefix is already declared - generate new and try again
|
}
|
||||||
}
|
namespacePrefix[namespaceEnd] = prefix;
|
||||||
}
|
namespaceUri[namespaceEnd] = namespace;
|
||||||
// declare prefix
|
++namespaceEnd;
|
||||||
|
|
||||||
if (namespaceEnd >= namespacePrefix.length) {
|
return prefix;
|
||||||
ensureNamespacesCapacity();
|
|
||||||
}
|
|
||||||
namespacePrefix[namespaceEnd] = prefix;
|
|
||||||
namespaceUri[namespaceEnd] = namespace;
|
|
||||||
++namespaceEnd;
|
|
||||||
|
|
||||||
return prefix;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user