mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[Yul] Format string literals back to quoted string literals
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include <libsolidity/codegen/ABIFunctions.h>
|
||||
|
||||
#include <libsolidity/codegen/CompilerUtils.h>
|
||||
#include <libdevcore/CommonData.h>
|
||||
#include <libdevcore/Whiskers.h>
|
||||
#include <libdevcore/StringUtils.h>
|
||||
|
||||
@@ -975,7 +976,7 @@ string ABIFunctions::abiEncodingFunctionStringLiteral(
|
||||
for (size_t i = 0; i < words; ++i)
|
||||
{
|
||||
wordParams[i]["offset"] = to_string(i * 32);
|
||||
wordParams[i]["wordValue"] = "0x" + h256(value.substr(32 * i, 32), h256::AlignLeft).hex();
|
||||
wordParams[i]["wordValue"] = formatAsStringOrNumber(value.substr(32 * i, 32));
|
||||
}
|
||||
templ("word", wordParams);
|
||||
return templ.render();
|
||||
@@ -990,7 +991,7 @@ string ABIFunctions::abiEncodingFunctionStringLiteral(
|
||||
}
|
||||
)");
|
||||
templ("functionName", functionName);
|
||||
templ("wordValue", "0x" + h256(value, h256::AlignLeft).hex());
|
||||
templ("wordValue", formatAsStringOrNumber(value));
|
||||
return templ.render();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
#include <libsolidity/codegen/MultiUseYulFunctionCollector.h>
|
||||
#include <libsolidity/ast/AST.h>
|
||||
#include <libsolidity/codegen/CompilerUtils.h>
|
||||
|
||||
#include <libdevcore/CommonData.h>
|
||||
#include <libdevcore/Whiskers.h>
|
||||
#include <libdevcore/StringUtils.h>
|
||||
|
||||
@@ -1756,7 +1758,7 @@ string YulUtilFunctions::conversionFunctionSpecial(Type const& _from, Type const
|
||||
for (size_t i = 0; i < words; ++i)
|
||||
{
|
||||
wordParams[i]["offset"] = to_string(32 + i * 32);
|
||||
wordParams[i]["wordValue"] = "0x" + h256(data.substr(32 * i, 32), h256::AlignLeft).hex();
|
||||
wordParams[i]["wordValue"] = formatAsStringOrNumber(data.substr(32 * i, 32));
|
||||
}
|
||||
templ("word", wordParams);
|
||||
return templ.render();
|
||||
|
||||
Reference in New Issue
Block a user