diff --git a/hilti/lib/hilti.hlt b/hilti/lib/hilti.hlt index 54fde5c8a..3a2d8a4f5 100644 --- a/hilti/lib/hilti.hlt +++ b/hilti/lib/hilti.hlt @@ -11,7 +11,7 @@ public type Side = enum { Left, Right, Both } &cxxname="hilti::rt::bytes::Side"; public type AddressFamily = enum { IPv4, IPv6 } &cxxname="hilti::rt::AddressFamily"; public type RealType = enum { IEEE754_Single, IEEE754_Double } &cxxname="hilti::rt::real::Type"; public type Protocol = enum { TCP, UDP, ICMP } &cxxname="hilti::rt::Protocol"; -public type Charset = enum { ASCII, UTF8 } &cxxname="hilti::rt::unicode::Charset"; +public type Charset = enum { ASCII, UTF8, UTF16 } &cxxname="hilti::rt::unicode::Charset"; public type DecodeErrorStrategy = enum { IGNORE, REPLACE, STRICT } &cxxname="hilti::rt::unicode::DecodeErrorStrategy"; public type Captures = vector; public type Profiler = __library_type("hilti::rt::Profiler"); diff --git a/hilti/runtime/include/unicode.h b/hilti/runtime/include/unicode.h index fc1a5348c..f2105fe9b 100644 --- a/hilti/runtime/include/unicode.h +++ b/hilti/runtime/include/unicode.h @@ -19,7 +19,7 @@ HILTI_RT_ENUM_WITH_DEFAULT(DecodeErrorStrategy, IGNORE, ); /** For bytes decoding, which character set to use. */ -HILTI_RT_ENUM(Charset, Undef, UTF8, ASCII); +HILTI_RT_ENUM(Charset, Undef, UTF8, UTF16, ASCII); constexpr uint32_t REPLACEMENT_CHARACTER = 0x0000FFFD; diff --git a/hilti/runtime/src/tests/bytes.cc b/hilti/runtime/src/tests/bytes.cc index 8e69e3abd..a0cb0bad0 100644 --- a/hilti/runtime/src/tests/bytes.cc +++ b/hilti/runtime/src/tests/bytes.cc @@ -43,6 +43,7 @@ TEST_CASE("construct") { CHECK_EQ(Bytes("123", Enum(unicode::Charset::ASCII)).str(), "123"); CHECK_EQ(Bytes("abc", Enum(unicode::Charset::ASCII)).str(), "abc"); CHECK_EQ(Bytes("abc", Enum(unicode::Charset::UTF8)).str(), "abc"); + CHECK_EQ(Bytes("abc", Enum(unicode::Charset::UTF16)).str(), "abc"); CHECK_EQ(Bytes("\xF0\x9F\x98\x85", Enum(unicode::Charset::UTF8)).str(), "\xF0\x9F\x98\x85"); CHECK_EQ(Bytes("\xc3\x28", Enum(unicode::Charset::UTF8), unicode::DecodeErrorStrategy::REPLACE).str(), "\ufffd("); @@ -60,6 +61,8 @@ TEST_CASE("construct") { // NOLINTNEXTLINE(bugprone-throw-keyword-missing) CHECK_THROWS_WITH_AS(Bytes("123", Enum(unicode::Charset::Undef)), "unknown character set for encoding", const RuntimeError&); + + // FIXME(bbannier): add test case for invalid UTF-16. } TEST_CASE("decode") { @@ -79,6 +82,8 @@ TEST_CASE("decode") { CHECK_THROWS_WITH_AS("\xc3\x28"_b.decode(unicode::Charset::UTF8, unicode::DecodeErrorStrategy::STRICT), "illegal UTF8 sequence in string", const RuntimeError&); + // FIXME(bbannier): add test cases decoding from valid and invalid UTF-16. + CHECK_THROWS_WITH_AS("123"_b.decode(unicode::Charset::Undef), "unknown character set for decoding", const RuntimeError&); } @@ -215,6 +220,8 @@ TEST_CASE("lower") { // NOLINTNEXTLINE(bugprone-throw-keyword-missing) CHECK_THROWS_WITH_AS("123"_b.lower(unicode::Charset::Undef), "unknown character set for decoding", const RuntimeError&); + + // FIXME(bbannier): check that lowering an UTF-16 bytes produces a lowercase UTF-16 bytes. } TEST_CASE("match") { @@ -514,6 +521,8 @@ TEST_CASE("upper") { // NOLINTNEXTLINE(bugprone-throw-keyword-missing) CHECK_THROWS_WITH_AS("123"_b.upper(unicode::Charset::Undef), "unknown character set for decoding", const RuntimeError&); + + // FIXME(bbannier): check that upping an UTF-16 bytes produces an uppercase UTF-16 bytes. } TEST_CASE("append") { diff --git a/hilti/runtime/src/tests/to_string.cc b/hilti/runtime/src/tests/to_string.cc index cd444d052..eeecb350e 100644 --- a/hilti/runtime/src/tests/to_string.cc +++ b/hilti/runtime/src/tests/to_string.cc @@ -110,6 +110,7 @@ TEST_CASE("integer::BitOrder") { TEST_CASE("bytes::Charset") { CHECK_EQ(to_string(Enum(unicode::Charset::ASCII)), "Charset::ASCII"); CHECK_EQ(to_string(Enum(unicode::Charset::UTF8)), "Charset::UTF8"); + CHECK_EQ(to_string(Enum(unicode::Charset::UTF16)), "Charset::UTF16"); CHECK_EQ(to_string(Enum(unicode::Charset::Undef)), "Charset::Undef"); } diff --git a/hilti/runtime/src/types/bytes.cc b/hilti/runtime/src/types/bytes.cc index 11dd1588f..a93479d33 100644 --- a/hilti/runtime/src/types/bytes.cc +++ b/hilti/runtime/src/types/bytes.cc @@ -4,6 +4,9 @@ #include #include +#include +#include +#include #include #include @@ -79,6 +82,34 @@ Bytes::Bytes(std::string s, unicode::Charset cs, unicode::DecodeErrorStrategy er return; } + case unicode::Charset::UTF16: { + // FIXME(bbannier): this has a lot of copy/paste from above case, clean up. + std::u16string t; + + auto p = s.begin(); + auto e = s.end(); + + while ( p < e ) { + try { + auto cp = utf8::next16(p, e); + utf8::append16(cp, t); + } catch ( const utf8::exception& ) { + switch ( errors.value() ) { + case unicode::DecodeErrorStrategy::IGNORE: break; + case unicode::DecodeErrorStrategy::REPLACE: { + utf8::append(0xFFFD, s); + break; + } + case unicode::DecodeErrorStrategy::STRICT: + throw RuntimeError("illegal UTF8 sequence in string"); + } + } + } + + *this = utf8::utf16to8(t); + return; + } + case unicode::Charset::ASCII: { std::string t; for ( const auto& c : s ) { @@ -109,6 +140,29 @@ std::string Bytes::decode(unicode::Charset cs, unicode::DecodeErrorStrategy erro case unicode::Charset::UTF8: // Data is already in UTF-8, but let's validate it. return Bytes(str(), cs, errors).str(); + case unicode::Charset::UTF16: { + std::u16string t; + + auto p = this->str().begin(); + auto e = this->str().end(); + while ( p < e ) { + try { + auto cp = utf8::next16(p, e); + utf8::append16(cp, t); + } catch ( const utf8::exception& ) { + switch ( errors.value() ) { + case unicode::DecodeErrorStrategy::IGNORE: break; + case unicode::DecodeErrorStrategy::REPLACE: utf8::append16(unicode::REPLACEMENT_CHARACTER, t); + case unicode::DecodeErrorStrategy::STRICT: + throw RuntimeError("illegal UTF-16 character in string"); + } + + p = std::next(p); + } + } + + return utf8::utf16to8(t); + } case unicode::Charset::ASCII: { std::string s; diff --git a/hilti/runtime/src/unicode.cc b/hilti/runtime/src/unicode.cc index 88f28acb9..dd948412b 100644 --- a/hilti/runtime/src/unicode.cc +++ b/hilti/runtime/src/unicode.cc @@ -20,6 +20,7 @@ std::string to_string(const unicode::Charset& x, tag /*unused*/) { switch ( x.value() ) { case unicode::Charset::ASCII: return "Charset::ASCII"; case unicode::Charset::UTF8: return "Charset::UTF8"; + case unicode::Charset::UTF16: return "Charset::UTF16"; case unicode::Charset::Undef: return "Charset::Undef"; } diff --git a/spicy/lib/spicy.spicy b/spicy/lib/spicy.spicy index 9f7e52e8e..fbf529b3c 100644 --- a/spicy/lib/spicy.spicy +++ b/spicy/lib/spicy.spicy @@ -33,7 +33,8 @@ public type ByteOrder = enum { ## Specifies the character set for bytes encoding/decoding. public type Charset = enum { ASCII, - UTF8 + UTF8, + UTF16, } &cxxname="hilti::rt::unicode::Charset"; ## Specifies how data is handled that's not representable in a specified character set. diff --git a/tests/Baseline/hilti.ast.basic-module/debug.log b/tests/Baseline/hilti.ast.basic-module/debug.log index bcf7f8270..b7af21c84 100644 --- a/tests/Baseline/hilti.ast.basic-module/debug.log +++ b/tests/Baseline/hilti.ast.basic-module/debug.log @@ -323,38 +323,47 @@ [debug/ast-final] - ctor::String [parent @e:XXX] [@c:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] [debug/ast-final] - type::String [parent @q:XXX] (resolved) [@t:XXX] -[debug/ast-final] - declaration::Type [parent @d:XXX] (hilti.hlt:14:1-14:82) [@d:XXX] +[debug/ast-final] - declaration::Type [parent @d:XXX] (hilti.hlt:14:1-14:89) [@d:XXX] [debug/ast-final] | ASCII -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) +[debug/ast-final] | UTF16 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | UTF8 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | Undef -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) -[debug/ast-final] - QualifiedType [parent @d:XXX] (hilti.hlt:14:23-14:42) [@q:XXX] -[debug/ast-final] - type::Enum [parent @q:XXX] (hilti.hlt:14:23-14:42) (resolved) [@t:XXX] +[debug/ast-final] - QualifiedType [parent @d:XXX] (hilti.hlt:14:23-14:49) [@q:XXX] +[debug/ast-final] - type::Enum [parent @q:XXX] (hilti.hlt:14:23-14:49) (resolved) [@t:XXX] [debug/ast-final] | ASCII -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) +[debug/ast-final] | UTF16 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | UTF8 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | Undef -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] [debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:30-14:34) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] [debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:37-14:40) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] -[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:23-14:42) [@t:XXX] +[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:43-14:47) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - AttributeSet [parent @d:XXX] (hilti.hlt:14:43-14:81) [@a:XXX] -[debug/ast-final] - Attribute [parent @a:XXX] (hilti.hlt:14:43-14:81) [@a:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] +[debug/ast-final] - +[debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] +[debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] +[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:23-14:49) [@t:XXX] +[debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] +[debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] +[debug/ast-final] - AttributeSet [parent @d:XXX] (hilti.hlt:14:50-14:88) [@a:XXX] +[debug/ast-final] - Attribute [parent @a:XXX] (hilti.hlt:14:50-14:88) [@a:XXX] [debug/ast-final] - expression::Ctor [parent @a:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::String [parent @e:XXX] [@c:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] @@ -928,7 +937,7 @@ [debug/ast-final] [D6] hilti::AddressFamily [declaration::Type] (hilti.hlt:11:1-11:84) [debug/ast-final] [D7] hilti::RealType [declaration::Type] (hilti.hlt:12:1-12:96) [debug/ast-final] [D8] hilti::Protocol [declaration::Type] (hilti.hlt:13:1-13:78) -[debug/ast-final] [D9] hilti::Charset [declaration::Type] (hilti.hlt:14:1-14:82) +[debug/ast-final] [D9] hilti::Charset [declaration::Type] (hilti.hlt:14:1-14:89) [debug/ast-final] [D10] hilti::DecodeErrorStrategy [declaration::Type] (hilti.hlt:15:1-15:118) [debug/ast-final] [D11] hilti::Captures [declaration::Type] (hilti.hlt:16:1-16:37) [debug/ast-final] [D12] hilti::Profiler [declaration::Type] (hilti.hlt:17:1-17:61) @@ -940,7 +949,7 @@ [debug/ast-final] [D18] hilti::RecoverableFailure [declaration::Type] (hilti.hlt:56:1-56:98) [debug/ast-final] [D19] hilti::MissingData [declaration::Type] (hilti.hlt:59:1-59:84) [debug/ast-final] [D20] hilti [declaration::Module] (hilti.hlt:3:1-68:1) -[debug/ast-final] [D21] hilti::UTF8 [declaration::Constant] (hilti.hlt:14:23-14:42) +[debug/ast-final] [D21] hilti::UTF8 [declaration::Constant] (hilti.hlt:14:23-14:49) [debug/ast-final] [D22] hilti::REPLACE [declaration::Constant] (hilti.hlt:15:35-15:66) [debug/ast-final] [T1] hilti::BitOrder [type::Enum] (hilti.hlt:8:24-8:42) [debug/ast-final] [T2] hilti::ByteOrder [type::Enum] (hilti.hlt:9:25-9:59) @@ -948,7 +957,7 @@ [debug/ast-final] [T4] hilti::AddressFamily [type::Enum] (hilti.hlt:11:29-11:47) [debug/ast-final] [T5] hilti::RealType [type::Enum] (hilti.hlt:12:24-12:62) [debug/ast-final] [T6] hilti::Protocol [type::Enum] (hilti.hlt:13:24-13:46) -[debug/ast-final] [T7] hilti::Charset [type::Enum] (hilti.hlt:14:23-14:42) +[debug/ast-final] [T7] hilti::Charset [type::Enum] (hilti.hlt:14:23-14:49) [debug/ast-final] [T8] hilti::DecodeErrorStrategy [type::Enum] (hilti.hlt:15:35-15:66) [debug/ast-final] [T9] hilti::MatchState [type::Struct] (hilti.hlt:19:26-21:1) [debug/ast-final] [T10] hilti::StreamStatistics [type::Struct] (hilti.hlt:23:32-28:1) diff --git a/tests/Baseline/hilti.ast.coercion/output b/tests/Baseline/hilti.ast.coercion/output index a07b99085..9d3639ce6 100644 --- a/tests/Baseline/hilti.ast.coercion/output +++ b/tests/Baseline/hilti.ast.coercion/output @@ -488,38 +488,47 @@ [debug/ast-final] - ctor::String [parent @e:XXX] [@c:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] [debug/ast-final] - type::String [parent @q:XXX] (resolved) [@t:XXX] -[debug/ast-final] - declaration::Type [parent @d:XXX] (hilti.hlt:14:1-14:82) [@d:XXX] +[debug/ast-final] - declaration::Type [parent @d:XXX] (hilti.hlt:14:1-14:89) [@d:XXX] [debug/ast-final] | ASCII -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) +[debug/ast-final] | UTF16 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | UTF8 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | Undef -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) -[debug/ast-final] - QualifiedType [parent @d:XXX] (hilti.hlt:14:23-14:42) [@q:XXX] -[debug/ast-final] - type::Enum [parent @q:XXX] (hilti.hlt:14:23-14:42) (resolved) [@t:XXX] +[debug/ast-final] - QualifiedType [parent @d:XXX] (hilti.hlt:14:23-14:49) [@q:XXX] +[debug/ast-final] - type::Enum [parent @q:XXX] (hilti.hlt:14:23-14:49) (resolved) [@t:XXX] [debug/ast-final] | ASCII -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) +[debug/ast-final] | UTF16 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | UTF8 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | Undef -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] [debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:30-14:34) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] [debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:37-14:40) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] -[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:23-14:42) [@t:XXX] +[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:43-14:47) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - AttributeSet [parent @d:XXX] (hilti.hlt:14:43-14:81) [@a:XXX] -[debug/ast-final] - Attribute [parent @a:XXX] (hilti.hlt:14:43-14:81) [@a:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] +[debug/ast-final] - +[debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] +[debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] +[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:23-14:49) [@t:XXX] +[debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] +[debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] +[debug/ast-final] - AttributeSet [parent @d:XXX] (hilti.hlt:14:50-14:88) [@a:XXX] +[debug/ast-final] - Attribute [parent @a:XXX] (hilti.hlt:14:50-14:88) [@a:XXX] [debug/ast-final] - expression::Ctor [parent @a:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::String [parent @e:XXX] [@c:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] @@ -1093,7 +1102,7 @@ [debug/ast-final] [D6] hilti::AddressFamily [declaration::Type] (hilti.hlt:11:1-11:84) [debug/ast-final] [D7] hilti::RealType [declaration::Type] (hilti.hlt:12:1-12:96) [debug/ast-final] [D8] hilti::Protocol [declaration::Type] (hilti.hlt:13:1-13:78) -[debug/ast-final] [D9] hilti::Charset [declaration::Type] (hilti.hlt:14:1-14:82) +[debug/ast-final] [D9] hilti::Charset [declaration::Type] (hilti.hlt:14:1-14:89) [debug/ast-final] [D10] hilti::DecodeErrorStrategy [declaration::Type] (hilti.hlt:15:1-15:118) [debug/ast-final] [D11] hilti::Captures [declaration::Type] (hilti.hlt:16:1-16:37) [debug/ast-final] [D12] hilti::Profiler [declaration::Type] (hilti.hlt:17:1-17:61) @@ -1105,7 +1114,7 @@ [debug/ast-final] [D18] hilti::RecoverableFailure [declaration::Type] (hilti.hlt:56:1-56:98) [debug/ast-final] [D19] hilti::MissingData [declaration::Type] (hilti.hlt:59:1-59:84) [debug/ast-final] [D20] hilti [declaration::Module] (hilti.hlt:3:1-68:1) -[debug/ast-final] [D21] hilti::UTF8 [declaration::Constant] (hilti.hlt:14:23-14:42) +[debug/ast-final] [D21] hilti::UTF8 [declaration::Constant] (hilti.hlt:14:23-14:49) [debug/ast-final] [D22] hilti::REPLACE [declaration::Constant] (hilti.hlt:15:35-15:66) [debug/ast-final] [T1] hilti::BitOrder [type::Enum] (hilti.hlt:8:24-8:42) [debug/ast-final] [T2] hilti::ByteOrder [type::Enum] (hilti.hlt:9:25-9:59) @@ -1113,7 +1122,7 @@ [debug/ast-final] [T4] hilti::AddressFamily [type::Enum] (hilti.hlt:11:29-11:47) [debug/ast-final] [T5] hilti::RealType [type::Enum] (hilti.hlt:12:24-12:62) [debug/ast-final] [T6] hilti::Protocol [type::Enum] (hilti.hlt:13:24-13:46) -[debug/ast-final] [T7] hilti::Charset [type::Enum] (hilti.hlt:14:23-14:42) +[debug/ast-final] [T7] hilti::Charset [type::Enum] (hilti.hlt:14:23-14:49) [debug/ast-final] [T8] hilti::DecodeErrorStrategy [type::Enum] (hilti.hlt:15:35-15:66) [debug/ast-final] [T9] hilti::MatchState [type::Struct] (hilti.hlt:19:26-21:1) [debug/ast-final] [T10] hilti::StreamStatistics [type::Struct] (hilti.hlt:23:32-28:1) diff --git a/tests/Baseline/hilti.ast.imported-id/output b/tests/Baseline/hilti.ast.imported-id/output index 551fbc689..4f625df47 100644 --- a/tests/Baseline/hilti.ast.imported-id/output +++ b/tests/Baseline/hilti.ast.imported-id/output @@ -10,7 +10,7 @@ [debug/resolver] -> [T4] type::Enum | enum { } (hilti.hlt:11:29-11:47) [debug/resolver] -> [T5] type::Enum | enum { } (hilti.hlt:12:24-12:62) [debug/resolver] -> [T6] type::Enum | enum { } (hilti.hlt:13:24-13:46) -[debug/resolver] -> [T7] type::Enum | enum { } (hilti.hlt:14:23-14:42) +[debug/resolver] -> [T7] type::Enum | enum { } (hilti.hlt:14:23-14:49) [debug/resolver] -> [T8] type::Enum | enum { } (hilti.hlt:15:35-15:66) [debug/resolver] -> [T9] type::Struct | struct { method Captures captures(view data); } (hilti.hlt:19:26-21:1) [debug/resolver] -> [T10] type::Struct | struct { uint<64> num_data_bytes; uint<64> num_data_chunks; uint<64> num_gap_bytes; uint<64> num_gap_chunks; } (hilti.hlt:23:32-28:1) @@ -111,14 +111,15 @@ [debug/resolver] [hilti.hlt:13:1-13:78] declaration::Type "public type Protocol = enum { TCP = 0, UDP = 1, ICMP = 2 } &cxxname="::hilti::rt::Protocol";" -> set declaration's fully qualified ID to hilti::Protocol [debug/resolver] -> [D8] declaration::Type hilti::Protocol | public type Protocol = enum { TCP = 0, UDP = 1, ICMP = 2 } &cxxname="::hilti::rt::Protocol"; (hilti.hlt:13:1-13:78) [debug/resolver] [hilti.hlt:13:24-13:46] type::Enum "hilti::Protocol" -> set type's declaration to D8 -[debug/resolver] [hilti.hlt:14:23-14:42] declaration::Constant "const enum { ASCII = 0, UTF8 = 1 } ASCII = ::ASCII;" -> set declaration's canonical ID to hilti::ASCII -[debug/resolver] [hilti.hlt:14:23-14:42] declaration::Constant "const enum { ASCII = 0, UTF8 = 1 } UTF8 = ::UTF8;" -> set declaration's canonical ID to hilti::UTF8 -[debug/resolver] [hilti.hlt:14:23-14:42] declaration::Constant "const enum { ASCII = 0, UTF8 = 1 } Undef = ::Undef;" -> set declaration's canonical ID to hilti::Undef_7 -[debug/resolver] [hilti.hlt:14:44-14:81] Attribute "&cxxname="hilti::rt::unicode::Charset"" -> Attribute "&cxxname="::hilti::rt::unicode::Charset"" -[debug/resolver] [hilti.hlt:14:1-14:82] declaration::Type "public type Charset = enum { ASCII = 0, UTF8 = 1 } &cxxname="::hilti::rt::unicode::Charset";" -> set declaration's canonical ID to hilti::Charset -[debug/resolver] [hilti.hlt:14:1-14:82] declaration::Type "public type Charset = enum { ASCII = 0, UTF8 = 1 } &cxxname="::hilti::rt::unicode::Charset";" -> set declaration's fully qualified ID to hilti::Charset -[debug/resolver] -> [D9] declaration::Type hilti::Charset | public type Charset = enum { ASCII = 0, UTF8 = 1 } &cxxname="::hilti::rt::unicode::Charset"; (hilti.hlt:14:1-14:82) -[debug/resolver] [hilti.hlt:14:23-14:42] type::Enum "hilti::Charset" -> set type's declaration to D9 +[debug/resolver] [hilti.hlt:14:23-14:49] declaration::Constant "const enum { ASCII = 0, UTF8 = 1, UTF16 = 2 } ASCII = ::ASCII;" -> set declaration's canonical ID to hilti::ASCII +[debug/resolver] [hilti.hlt:14:23-14:49] declaration::Constant "const enum { ASCII = 0, UTF8 = 1, UTF16 = 2 } UTF8 = ::UTF8;" -> set declaration's canonical ID to hilti::UTF8 +[debug/resolver] [hilti.hlt:14:23-14:49] declaration::Constant "const enum { ASCII = 0, UTF8 = 1, UTF16 = 2 } UTF16 = ::UTF16;" -> set declaration's canonical ID to hilti::UTF16 +[debug/resolver] [hilti.hlt:14:23-14:49] declaration::Constant "const enum { ASCII = 0, UTF8 = 1, UTF16 = 2 } Undef = ::Undef;" -> set declaration's canonical ID to hilti::Undef_7 +[debug/resolver] [hilti.hlt:14:51-14:88] Attribute "&cxxname="hilti::rt::unicode::Charset"" -> Attribute "&cxxname="::hilti::rt::unicode::Charset"" +[debug/resolver] [hilti.hlt:14:1-14:89] declaration::Type "public type Charset = enum { ASCII = 0, UTF8 = 1, UTF16 = 2 } &cxxname="::hilti::rt::unicode::Charset";" -> set declaration's canonical ID to hilti::Charset +[debug/resolver] [hilti.hlt:14:1-14:89] declaration::Type "public type Charset = enum { ASCII = 0, UTF8 = 1, UTF16 = 2 } &cxxname="::hilti::rt::unicode::Charset";" -> set declaration's fully qualified ID to hilti::Charset +[debug/resolver] -> [D9] declaration::Type hilti::Charset | public type Charset = enum { ASCII = 0, UTF8 = 1, UTF16 = 2 } &cxxname="::hilti::rt::unicode::Charset"; (hilti.hlt:14:1-14:89) +[debug/resolver] [hilti.hlt:14:23-14:49] type::Enum "hilti::Charset" -> set type's declaration to D9 [debug/resolver] [hilti.hlt:15:35-15:66] declaration::Constant "const enum { IGNORE = 0, REPLACE = 1, STRICT = 2 } IGNORE = ::IGNORE;" -> set declaration's canonical ID to hilti::IGNORE [debug/resolver] [hilti.hlt:15:35-15:66] declaration::Constant "const enum { IGNORE = 0, REPLACE = 1, STRICT = 2 } REPLACE = ::REPLACE;" -> set declaration's canonical ID to hilti::REPLACE [debug/resolver] [hilti.hlt:15:35-15:66] declaration::Constant "const enum { IGNORE = 0, REPLACE = 1, STRICT = 2 } STRICT = ::STRICT;" -> set declaration's canonical ID to hilti::STRICT @@ -289,10 +290,10 @@ [debug/resolver] [hilti.hlt:67:1-67:119] declaration::Function "declare public function string exception_where(hilti::RecoverableFailure excpt) &cxxname="::hilti::rt::exception::where" &have_prototype;" -> set declaration's canonical ID to hilti::exception_where_2 [debug/resolver] [hilti.hlt:67:1-67:119] declaration::Function "declare public function string exception_where(hilti::RecoverableFailure excpt) &cxxname="::hilti::rt::exception::where" &have_prototype;" -> set declaration's fully qualified ID to hilti::exception_where [debug/resolver] [hilti.hlt:67:1-67:119] declaration::Function "declare public function string exception_where(hilti::RecoverableFailure excpt) &cxxname="::hilti::rt::exception::where" &have_prototype;" -> creating function call operator -[debug/resolver] [hilti.hlt:3:1-68:1] declaration::Module "module hilti { public type BitOrder = enum { LSB0 = 0, MSB0 = 1 } &cxxname="::hilti::rt::integer::BitOrder"; public type ByteOrder = enum { Little = 0, Big = 1, Network = 2, Host = 3 } &cxxname="::hilti::rt::ByteOrder"; public type Side = enum { Left = 0, Right = 1, Both = 2 } &cxxname="::hilti::rt::bytes::Side"; public type AddressFamily = enum { IPv4 = 0, IPv6 = 1 } &cxxname="::hilti::rt::AddressFamily"; public type RealType = enum { IEEE754_Single = 0, IEEE754_Double = 1 } &cxxname="::hilti::rt::real::Type"; public type Protocol = enum { TCP = 0, UDP = 1, ICMP = 2 } &cxxname="::hilti::rt::Protocol"; public type Charset = enum { ASCII = 0, UTF8 = 1 } &cxxname="::hilti::rt::unicode::Charset"; public type DecodeErrorStrategy = enum { IGNORE = 0, REPLACE = 1, STRICT = 2 } &cxxname="::hilti::rt::unicode::DecodeErrorStrategy"; public type Captures = vector; public type Profiler = Profiler &cxxname="::hilti::rt::Profiler"; public type MatchState = struct { method Captures captures(view data); } &cxxname="::hilti::rt::regexp::MatchState"; public type StreamStatistics = struct { uint<64> num_data_bytes; uint<64> num_data_chunks; uint<64> num_gap_bytes; uint<64> num_gap_chunks; } &cxxname="::hilti::rt::stream::Statistics"; public type Exception = exception &cxxname="::hilti::rt::Exception"; public type SystemException = [exception :Exception &cxxname="::std::exception"; public type RuntimeError = [exception :Exception &cxxname="::hilti::rt::RuntimeError"; public type RecoverableFailure = [exception :Exception &cxxname="::hilti::rt::RecoverableFailure"; public type MissingData = [exception :Exception &cxxname="::hilti::rt::MissingData"; declare public function void print(any obj, bool newline = True) &cxxname="::hilti::rt::print" &have_prototype; declare public function void printValues(tuple<*> t, bool newline = True) &cxxname="::hilti::rt::printValues" &have_prototype; declare public function void debug(string dbg_stream, any obj) &cxxname="::hilti::rt::debug::print" &have_prototype; declare public function void debugIndent(string dbg_stream) &cxxname="::hilti::rt::debug::indent" &have_prototype; declare public function void debugDedent(string dbg_stream) &cxxname="::hilti::rt::debug::dedent" &have_prototype; declare public function time current_time() &cxxname="::hilti::rt::time::current_time" &have_prototype; declare public function time mktime(uint<64> y, uint<64> m, uint<64> d, uint<64> H, uint<64> M, uint<64> S) &cxxname="::hilti::rt::time::mktime" &have_prototype; declare public function void abort() &cxxname="::hilti::rt::abort_with_backtrace" &have_prototype; declare public function optional profiler_start(string name, optional> size = Null) &cxxname="::hilti::rt::profiler::start" &have_prototype; declare public function void profiler_stop(optional p, optional> size = Null) &cxxname="::hilti::rt::profiler::stop" &have_prototype; declare public function string exception_what(SystemException excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_what(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_where(SystemException excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; declare public function string exception_where(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; }" -> set declaration's fully qualified ID to hilti -[debug/resolver] [hilti.hlt:3:1-68:1] declaration::Module "module hilti { public type BitOrder = enum { LSB0 = 0, MSB0 = 1 } &cxxname="::hilti::rt::integer::BitOrder"; public type ByteOrder = enum { Little = 0, Big = 1, Network = 2, Host = 3 } &cxxname="::hilti::rt::ByteOrder"; public type Side = enum { Left = 0, Right = 1, Both = 2 } &cxxname="::hilti::rt::bytes::Side"; public type AddressFamily = enum { IPv4 = 0, IPv6 = 1 } &cxxname="::hilti::rt::AddressFamily"; public type RealType = enum { IEEE754_Single = 0, IEEE754_Double = 1 } &cxxname="::hilti::rt::real::Type"; public type Protocol = enum { TCP = 0, UDP = 1, ICMP = 2 } &cxxname="::hilti::rt::Protocol"; public type Charset = enum { ASCII = 0, UTF8 = 1 } &cxxname="::hilti::rt::unicode::Charset"; public type DecodeErrorStrategy = enum { IGNORE = 0, REPLACE = 1, STRICT = 2 } &cxxname="::hilti::rt::unicode::DecodeErrorStrategy"; public type Captures = vector; public type Profiler = Profiler &cxxname="::hilti::rt::Profiler"; public type MatchState = struct { method Captures captures(view data); } &cxxname="::hilti::rt::regexp::MatchState"; public type StreamStatistics = struct { uint<64> num_data_bytes; uint<64> num_data_chunks; uint<64> num_gap_bytes; uint<64> num_gap_chunks; } &cxxname="::hilti::rt::stream::Statistics"; public type Exception = exception &cxxname="::hilti::rt::Exception"; public type SystemException = [exception :Exception &cxxname="::std::exception"; public type RuntimeError = [exception :Exception &cxxname="::hilti::rt::RuntimeError"; public type RecoverableFailure = [exception :Exception &cxxname="::hilti::rt::RecoverableFailure"; public type MissingData = [exception :Exception &cxxname="::hilti::rt::MissingData"; declare public function void print(any obj, bool newline = True) &cxxname="::hilti::rt::print" &have_prototype; declare public function void printValues(tuple<*> t, bool newline = True) &cxxname="::hilti::rt::printValues" &have_prototype; declare public function void debug(string dbg_stream, any obj) &cxxname="::hilti::rt::debug::print" &have_prototype; declare public function void debugIndent(string dbg_stream) &cxxname="::hilti::rt::debug::indent" &have_prototype; declare public function void debugDedent(string dbg_stream) &cxxname="::hilti::rt::debug::dedent" &have_prototype; declare public function time current_time() &cxxname="::hilti::rt::time::current_time" &have_prototype; declare public function time mktime(uint<64> y, uint<64> m, uint<64> d, uint<64> H, uint<64> M, uint<64> S) &cxxname="::hilti::rt::time::mktime" &have_prototype; declare public function void abort() &cxxname="::hilti::rt::abort_with_backtrace" &have_prototype; declare public function optional profiler_start(string name, optional> size = Null) &cxxname="::hilti::rt::profiler::start" &have_prototype; declare public function void profiler_stop(optional p, optional> size = Null) &cxxname="::hilti::rt::profiler::stop" &have_prototype; declare public function string exception_what(SystemException excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_what(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_where(SystemException excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; declare public function string exception_where(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; }" -> set module's canonical ID to hilti -[debug/resolver] -> [D20] declaration::Module hilti | module hilti { public type BitOrder = enum { LSB0 = 0, MSB0 = 1 } &cxxname="::hilti::rt::integer::BitOrder"; public type ByteOrder = enum { Little = 0, Big = 1, Network = 2, Host = 3 } &cxxname="::hilti::rt::ByteOrder"; public type Side = enum { Left = 0, Right = 1, Both = 2 } &cxxname="::hilti::rt::bytes::Side"; public type AddressFamily = enum { IPv4 = 0, IPv6 = 1 } &cxxname="::hilti::rt::AddressFamily"; public type RealType = enum { IEEE754_Single = 0, IEEE754_Double = 1 } &cxxname="::hilti::rt::real::Type"; public type Protocol = enum { TCP = 0, UDP = 1, ICMP = 2 } &cxxname="::hilti::rt::Protocol"; public type Charset = enum { ASCII = 0, UTF8 = 1 } &cxxname="::hilti::rt::unicode::Charset"; public type DecodeErrorStrategy = enum { IGNORE = 0, REPLACE = 1, STRICT = 2 } &cxxname="::hilti::rt::unicode::DecodeErrorStrategy"; public type Captures = vector; public type Profiler = Profiler &cxxname="::hilti::rt::Profiler"; public type MatchState = struct { method Captures captures(view data); } &cxxname="::hilti::rt::regexp::MatchState"; public type StreamStatistics = struct { uint<64> num_data_bytes; uint<64> num_data_chunks; uint<64> num_gap_bytes; uint<64> num_gap_chunks; } &cxxname="::hilti::rt::stream::Statistics"; public type Exception = exception &cxxname="::hilti::rt::Exception"; public type SystemException = [exception :Exception &cxxname="::std::exception"; public type RuntimeError = [exception :Exception &cxxname="::hilti::rt::RuntimeError"; public type RecoverableFailure = [exception :Exception &cxxname="::hilti::rt::RecoverableFailure"; public type MissingData = [exception :Exception &cxxname="::hilti::rt::MissingData"; declare public function void print(any obj, bool newline = True) &cxxname="::hilti::rt::print" &have_prototype; declare public function void printValues(tuple<*> t, bool newline = True) &cxxname="::hilti::rt::printValues" &have_prototype; declare public function void debug(string dbg_stream, any obj) &cxxname="::hilti::rt::debug::print" &have_prototype; declare public function void debugIndent(string dbg_stream) &cxxname="::hilti::rt::debug::indent" &have_prototype; declare public function void debugDedent(string dbg_stream) &cxxname="::hilti::rt::debug::dedent" &have_prototype; declare public function time current_time() &cxxname="::hilti::rt::time::current_time" &have_prototype; declare public function time mktime(uint<64> y, uint<64> m, uint<64> d, uint<64> H, uint<64> M, uint<64> S) &cxxname="::hilti::rt::time::mktime" &have_prototype; declare public function void abort() &cxxname="::hilti::rt::abort_with_backtrace" &have_prototype; declare public function optional profiler_start(string name, optional> size = Null) &cxxname="::hilti::rt::profiler::start" &have_prototype; declare public function void profiler_stop(optional p, optional> size = Null) &cxxname="::hilti::rt::profiler::stop" &have_prototype; declare public function string exception_what(SystemException excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_what(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_where(SystemException excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; declare public function string exception_where(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; } (hilti.hlt:3:1-68:1) -[debug/resolver] [hilti.hlt:3:1-68:1] declaration::Module "module hilti { public type BitOrder = enum { LSB0 = 0, MSB0 = 1 } &cxxname="::hilti::rt::integer::BitOrder"; public type ByteOrder = enum { Little = 0, Big = 1, Network = 2, Host = 3 } &cxxname="::hilti::rt::ByteOrder"; public type Side = enum { Left = 0, Right = 1, Both = 2 } &cxxname="::hilti::rt::bytes::Side"; public type AddressFamily = enum { IPv4 = 0, IPv6 = 1 } &cxxname="::hilti::rt::AddressFamily"; public type RealType = enum { IEEE754_Single = 0, IEEE754_Double = 1 } &cxxname="::hilti::rt::real::Type"; public type Protocol = enum { TCP = 0, UDP = 1, ICMP = 2 } &cxxname="::hilti::rt::Protocol"; public type Charset = enum { ASCII = 0, UTF8 = 1 } &cxxname="::hilti::rt::unicode::Charset"; public type DecodeErrorStrategy = enum { IGNORE = 0, REPLACE = 1, STRICT = 2 } &cxxname="::hilti::rt::unicode::DecodeErrorStrategy"; public type Captures = vector; public type Profiler = Profiler &cxxname="::hilti::rt::Profiler"; public type MatchState = struct { method Captures captures(view data); } &cxxname="::hilti::rt::regexp::MatchState"; public type StreamStatistics = struct { uint<64> num_data_bytes; uint<64> num_data_chunks; uint<64> num_gap_bytes; uint<64> num_gap_chunks; } &cxxname="::hilti::rt::stream::Statistics"; public type Exception = exception &cxxname="::hilti::rt::Exception"; public type SystemException = [exception :Exception &cxxname="::std::exception"; public type RuntimeError = [exception :Exception &cxxname="::hilti::rt::RuntimeError"; public type RecoverableFailure = [exception :Exception &cxxname="::hilti::rt::RecoverableFailure"; public type MissingData = [exception :Exception &cxxname="::hilti::rt::MissingData"; declare public function void print(any obj, bool newline = True) &cxxname="::hilti::rt::print" &have_prototype; declare public function void printValues(tuple<*> t, bool newline = True) &cxxname="::hilti::rt::printValues" &have_prototype; declare public function void debug(string dbg_stream, any obj) &cxxname="::hilti::rt::debug::print" &have_prototype; declare public function void debugIndent(string dbg_stream) &cxxname="::hilti::rt::debug::indent" &have_prototype; declare public function void debugDedent(string dbg_stream) &cxxname="::hilti::rt::debug::dedent" &have_prototype; declare public function time current_time() &cxxname="::hilti::rt::time::current_time" &have_prototype; declare public function time mktime(uint<64> y, uint<64> m, uint<64> d, uint<64> H, uint<64> M, uint<64> S) &cxxname="::hilti::rt::time::mktime" &have_prototype; declare public function void abort() &cxxname="::hilti::rt::abort_with_backtrace" &have_prototype; declare public function optional profiler_start(string name, optional> size = Null) &cxxname="::hilti::rt::profiler::start" &have_prototype; declare public function void profiler_stop(optional p, optional> size = Null) &cxxname="::hilti::rt::profiler::stop" &have_prototype; declare public function string exception_what(SystemException excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_what(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_where(SystemException excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; declare public function string exception_where(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; }" -> set module's declaration index to D20 +[debug/resolver] [hilti.hlt:3:1-68:1] declaration::Module "module hilti { public type BitOrder = enum { LSB0 = 0, MSB0 = 1 } &cxxname="::hilti::rt::integer::BitOrder"; public type ByteOrder = enum { Little = 0, Big = 1, Network = 2, Host = 3 } &cxxname="::hilti::rt::ByteOrder"; public type Side = enum { Left = 0, Right = 1, Both = 2 } &cxxname="::hilti::rt::bytes::Side"; public type AddressFamily = enum { IPv4 = 0, IPv6 = 1 } &cxxname="::hilti::rt::AddressFamily"; public type RealType = enum { IEEE754_Single = 0, IEEE754_Double = 1 } &cxxname="::hilti::rt::real::Type"; public type Protocol = enum { TCP = 0, UDP = 1, ICMP = 2 } &cxxname="::hilti::rt::Protocol"; public type Charset = enum { ASCII = 0, UTF8 = 1, UTF16 = 2 } &cxxname="::hilti::rt::unicode::Charset"; public type DecodeErrorStrategy = enum { IGNORE = 0, REPLACE = 1, STRICT = 2 } &cxxname="::hilti::rt::unicode::DecodeErrorStrategy"; public type Captures = vector; public type Profiler = Profiler &cxxname="::hilti::rt::Profiler"; public type MatchState = struct { method Captures captures(view data); } &cxxname="::hilti::rt::regexp::MatchState"; public type StreamStatistics = struct { uint<64> num_data_bytes; uint<64> num_data_chunks; uint<64> num_gap_bytes; uint<64> num_gap_chunks; } &cxxname="::hilti::rt::stream::Statistics"; public type Exception = exception &cxxname="::hilti::rt::Exception"; public type SystemException = [exception :Exception &cxxname="::std::exception"; public type RuntimeError = [exception :Exception &cxxname="::hilti::rt::RuntimeError"; public type RecoverableFailure = [exception :Exception &cxxname="::hilti::rt::RecoverableFailure"; public type MissingData = [exception :Exception &cxxname="::hilti::rt::MissingData"; declare public function void print(any obj, bool newline = True) &cxxname="::hilti::rt::print" &have_prototype; declare public function void printValues(tuple<*> t, bool newline = True) &cxxname="::hilti::rt::printValues" &have_prototype; declare public function void debug(string dbg_stream, any obj) &cxxname="::hilti::rt::debug::print" &have_prototype; declare public function void debugIndent(string dbg_stream) &cxxname="::hilti::rt::debug::indent" &have_prototype; declare public function void debugDedent(string dbg_stream) &cxxname="::hilti::rt::debug::dedent" &have_prototype; declare public function time current_time() &cxxname="::hilti::rt::time::current_time" &have_prototype; declare public function time mktime(uint<64> y, uint<64> m, uint<64> d, uint<64> H, uint<64> M, uint<64> S) &cxxname="::hilti::rt::time::mktime" &have_prototype; declare public function void abort() &cxxname="::hilti::rt::abort_with_backtrace" &have_prototype; declare public function optional profiler_start(string name, optional> size = Null) &cxxname="::hilti::rt::profiler::start" &have_prototype; declare public function void profiler_stop(optional p, optional> size = Null) &cxxname="::hilti::rt::profiler::stop" &have_prototype; declare public function string exception_what(SystemException excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_what(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_where(SystemException excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; declare public function string exception_where(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; }" -> set declaration's fully qualified ID to hilti +[debug/resolver] [hilti.hlt:3:1-68:1] declaration::Module "module hilti { public type BitOrder = enum { LSB0 = 0, MSB0 = 1 } &cxxname="::hilti::rt::integer::BitOrder"; public type ByteOrder = enum { Little = 0, Big = 1, Network = 2, Host = 3 } &cxxname="::hilti::rt::ByteOrder"; public type Side = enum { Left = 0, Right = 1, Both = 2 } &cxxname="::hilti::rt::bytes::Side"; public type AddressFamily = enum { IPv4 = 0, IPv6 = 1 } &cxxname="::hilti::rt::AddressFamily"; public type RealType = enum { IEEE754_Single = 0, IEEE754_Double = 1 } &cxxname="::hilti::rt::real::Type"; public type Protocol = enum { TCP = 0, UDP = 1, ICMP = 2 } &cxxname="::hilti::rt::Protocol"; public type Charset = enum { ASCII = 0, UTF8 = 1, UTF16 = 2 } &cxxname="::hilti::rt::unicode::Charset"; public type DecodeErrorStrategy = enum { IGNORE = 0, REPLACE = 1, STRICT = 2 } &cxxname="::hilti::rt::unicode::DecodeErrorStrategy"; public type Captures = vector; public type Profiler = Profiler &cxxname="::hilti::rt::Profiler"; public type MatchState = struct { method Captures captures(view data); } &cxxname="::hilti::rt::regexp::MatchState"; public type StreamStatistics = struct { uint<64> num_data_bytes; uint<64> num_data_chunks; uint<64> num_gap_bytes; uint<64> num_gap_chunks; } &cxxname="::hilti::rt::stream::Statistics"; public type Exception = exception &cxxname="::hilti::rt::Exception"; public type SystemException = [exception :Exception &cxxname="::std::exception"; public type RuntimeError = [exception :Exception &cxxname="::hilti::rt::RuntimeError"; public type RecoverableFailure = [exception :Exception &cxxname="::hilti::rt::RecoverableFailure"; public type MissingData = [exception :Exception &cxxname="::hilti::rt::MissingData"; declare public function void print(any obj, bool newline = True) &cxxname="::hilti::rt::print" &have_prototype; declare public function void printValues(tuple<*> t, bool newline = True) &cxxname="::hilti::rt::printValues" &have_prototype; declare public function void debug(string dbg_stream, any obj) &cxxname="::hilti::rt::debug::print" &have_prototype; declare public function void debugIndent(string dbg_stream) &cxxname="::hilti::rt::debug::indent" &have_prototype; declare public function void debugDedent(string dbg_stream) &cxxname="::hilti::rt::debug::dedent" &have_prototype; declare public function time current_time() &cxxname="::hilti::rt::time::current_time" &have_prototype; declare public function time mktime(uint<64> y, uint<64> m, uint<64> d, uint<64> H, uint<64> M, uint<64> S) &cxxname="::hilti::rt::time::mktime" &have_prototype; declare public function void abort() &cxxname="::hilti::rt::abort_with_backtrace" &have_prototype; declare public function optional profiler_start(string name, optional> size = Null) &cxxname="::hilti::rt::profiler::start" &have_prototype; declare public function void profiler_stop(optional p, optional> size = Null) &cxxname="::hilti::rt::profiler::stop" &have_prototype; declare public function string exception_what(SystemException excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_what(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_where(SystemException excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; declare public function string exception_where(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; }" -> set module's canonical ID to hilti +[debug/resolver] -> [D20] declaration::Module hilti | module hilti { public type BitOrder = enum { LSB0 = 0, MSB0 = 1 } &cxxname="::hilti::rt::integer::BitOrder"; public type ByteOrder = enum { Little = 0, Big = 1, Network = 2, Host = 3 } &cxxname="::hilti::rt::ByteOrder"; public type Side = enum { Left = 0, Right = 1, Both = 2 } &cxxname="::hilti::rt::bytes::Side"; public type AddressFamily = enum { IPv4 = 0, IPv6 = 1 } &cxxname="::hilti::rt::AddressFamily"; public type RealType = enum { IEEE754_Single = 0, IEEE754_Double = 1 } &cxxname="::hilti::rt::real::Type"; public type Protocol = enum { TCP = 0, UDP = 1, ICMP = 2 } &cxxname="::hilti::rt::Protocol"; public type Charset = enum { ASCII = 0, UTF8 = 1, UTF16 = 2 } &cxxname="::hilti::rt::unicode::Charset"; public type DecodeErrorStrategy = enum { IGNORE = 0, REPLACE = 1, STRICT = 2 } &cxxname="::hilti::rt::unicode::DecodeErrorStrategy"; public type Captures = vector; public type Profiler = Profiler &cxxname="::hilti::rt::Profiler"; public type MatchState = struct { method Captures captures(view data); } &cxxname="::hilti::rt::regexp::MatchState"; public type StreamStatistics = struct { uint<64> num_data_bytes; uint<64> num_data_chunks; uint<64> num_gap_bytes; uint<64> num_gap_chunks; } &cxxname="::hilti::rt::stream::Statistics"; public type Exception = exception &cxxname="::hilti::rt::Exception"; public type SystemException = [exception :Exception &cxxname="::std::exception"; public type RuntimeError = [exception :Exception &cxxname="::hilti::rt::RuntimeError"; public type RecoverableFailure = [exception :Exception &cxxname="::hilti::rt::RecoverableFailure"; public type MissingData = [exception :Exception &cxxname="::hilti::rt::MissingData"; declare public function void print(any obj, bool newline = True) &cxxname="::hilti::rt::print" &have_prototype; declare public function void printValues(tuple<*> t, bool newline = True) &cxxname="::hilti::rt::printValues" &have_prototype; declare public function void debug(string dbg_stream, any obj) &cxxname="::hilti::rt::debug::print" &have_prototype; declare public function void debugIndent(string dbg_stream) &cxxname="::hilti::rt::debug::indent" &have_prototype; declare public function void debugDedent(string dbg_stream) &cxxname="::hilti::rt::debug::dedent" &have_prototype; declare public function time current_time() &cxxname="::hilti::rt::time::current_time" &have_prototype; declare public function time mktime(uint<64> y, uint<64> m, uint<64> d, uint<64> H, uint<64> M, uint<64> S) &cxxname="::hilti::rt::time::mktime" &have_prototype; declare public function void abort() &cxxname="::hilti::rt::abort_with_backtrace" &have_prototype; declare public function optional profiler_start(string name, optional> size = Null) &cxxname="::hilti::rt::profiler::start" &have_prototype; declare public function void profiler_stop(optional p, optional> size = Null) &cxxname="::hilti::rt::profiler::stop" &have_prototype; declare public function string exception_what(SystemException excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_what(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_where(SystemException excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; declare public function string exception_where(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; } (hilti.hlt:3:1-68:1) +[debug/resolver] [hilti.hlt:3:1-68:1] declaration::Module "module hilti { public type BitOrder = enum { LSB0 = 0, MSB0 = 1 } &cxxname="::hilti::rt::integer::BitOrder"; public type ByteOrder = enum { Little = 0, Big = 1, Network = 2, Host = 3 } &cxxname="::hilti::rt::ByteOrder"; public type Side = enum { Left = 0, Right = 1, Both = 2 } &cxxname="::hilti::rt::bytes::Side"; public type AddressFamily = enum { IPv4 = 0, IPv6 = 1 } &cxxname="::hilti::rt::AddressFamily"; public type RealType = enum { IEEE754_Single = 0, IEEE754_Double = 1 } &cxxname="::hilti::rt::real::Type"; public type Protocol = enum { TCP = 0, UDP = 1, ICMP = 2 } &cxxname="::hilti::rt::Protocol"; public type Charset = enum { ASCII = 0, UTF8 = 1, UTF16 = 2 } &cxxname="::hilti::rt::unicode::Charset"; public type DecodeErrorStrategy = enum { IGNORE = 0, REPLACE = 1, STRICT = 2 } &cxxname="::hilti::rt::unicode::DecodeErrorStrategy"; public type Captures = vector; public type Profiler = Profiler &cxxname="::hilti::rt::Profiler"; public type MatchState = struct { method Captures captures(view data); } &cxxname="::hilti::rt::regexp::MatchState"; public type StreamStatistics = struct { uint<64> num_data_bytes; uint<64> num_data_chunks; uint<64> num_gap_bytes; uint<64> num_gap_chunks; } &cxxname="::hilti::rt::stream::Statistics"; public type Exception = exception &cxxname="::hilti::rt::Exception"; public type SystemException = [exception :Exception &cxxname="::std::exception"; public type RuntimeError = [exception :Exception &cxxname="::hilti::rt::RuntimeError"; public type RecoverableFailure = [exception :Exception &cxxname="::hilti::rt::RecoverableFailure"; public type MissingData = [exception :Exception &cxxname="::hilti::rt::MissingData"; declare public function void print(any obj, bool newline = True) &cxxname="::hilti::rt::print" &have_prototype; declare public function void printValues(tuple<*> t, bool newline = True) &cxxname="::hilti::rt::printValues" &have_prototype; declare public function void debug(string dbg_stream, any obj) &cxxname="::hilti::rt::debug::print" &have_prototype; declare public function void debugIndent(string dbg_stream) &cxxname="::hilti::rt::debug::indent" &have_prototype; declare public function void debugDedent(string dbg_stream) &cxxname="::hilti::rt::debug::dedent" &have_prototype; declare public function time current_time() &cxxname="::hilti::rt::time::current_time" &have_prototype; declare public function time mktime(uint<64> y, uint<64> m, uint<64> d, uint<64> H, uint<64> M, uint<64> S) &cxxname="::hilti::rt::time::mktime" &have_prototype; declare public function void abort() &cxxname="::hilti::rt::abort_with_backtrace" &have_prototype; declare public function optional profiler_start(string name, optional> size = Null) &cxxname="::hilti::rt::profiler::start" &have_prototype; declare public function void profiler_stop(optional p, optional> size = Null) &cxxname="::hilti::rt::profiler::stop" &have_prototype; declare public function string exception_what(SystemException excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_what(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::what" &have_prototype; declare public function string exception_where(SystemException excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; declare public function string exception_where(RecoverableFailure excpt) &cxxname="::hilti::rt::exception::where" &have_prototype; }" -> set module's declaration index to D20 [debug/resolver] [bar.hlt:4:1-4:11] declaration::ImportedModule "import Foo;" -> set declaration's canonical ID to Bar::Foo [debug/resolver] [bar.hlt:4:1-4:11] declaration::ImportedModule "import Foo;" -> set declaration's fully qualified ID to Bar::Foo [debug/resolver] [bar.hlt:4:1-4:11] declaration::ImportedModule "import Foo;" -> imported module Foo @@ -315,7 +316,7 @@ [debug/compiler] -> modified [debug/compiler] processing ASTs, round 2 [debug/compiler] [HILTI] building scopes -[debug/resolver] -> [D23] declaration::Constant hilti::UTF8 | const hilti::Charset UTF8 = hilti::Charset::UTF8; (hilti.hlt:14:23-14:42) +[debug/resolver] -> [D23] declaration::Constant hilti::UTF8 | const hilti::Charset UTF8 = hilti::Charset::UTF8; (hilti.hlt:14:23-14:49) [debug/resolver] -> [D24] declaration::Constant hilti::REPLACE | const hilti::DecodeErrorStrategy REPLACE = hilti::DecodeErrorStrategy::REPLACE; (hilti.hlt:15:35-15:66) [debug/compiler] [HILTI] resolving AST [debug/resolver] -> [T17] type::String Bar::Bar1 | string (bar.hlt:6:20-6:25) @@ -347,9 +348,10 @@ [debug/resolver] [hilti.hlt:13:24-13:46] declaration::Constant "const hilti::Protocol UDP = hilti::Protocol::UDP;" -> set declaration's fully qualified ID to hilti::Protocol::UDP [debug/resolver] [hilti.hlt:13:24-13:46] declaration::Constant "const hilti::Protocol ICMP = hilti::Protocol::ICMP;" -> set declaration's fully qualified ID to hilti::Protocol::ICMP [debug/resolver] [hilti.hlt:13:24-13:46] declaration::Constant "const hilti::Protocol Undef = hilti::Protocol::Undef;" -> set declaration's fully qualified ID to hilti::Protocol::Undef -[debug/resolver] [hilti.hlt:14:23-14:42] declaration::Constant "const hilti::Charset ASCII = hilti::Charset::ASCII;" -> set declaration's fully qualified ID to hilti::Charset::ASCII -[debug/resolver] [hilti.hlt:14:23-14:42] declaration::Constant "const hilti::Charset UTF8 = hilti::Charset::UTF8;" -> set declaration's fully qualified ID to hilti::Charset::UTF8 -[debug/resolver] [hilti.hlt:14:23-14:42] declaration::Constant "const hilti::Charset Undef = hilti::Charset::Undef;" -> set declaration's fully qualified ID to hilti::Charset::Undef +[debug/resolver] [hilti.hlt:14:23-14:49] declaration::Constant "const hilti::Charset ASCII = hilti::Charset::ASCII;" -> set declaration's fully qualified ID to hilti::Charset::ASCII +[debug/resolver] [hilti.hlt:14:23-14:49] declaration::Constant "const hilti::Charset UTF8 = hilti::Charset::UTF8;" -> set declaration's fully qualified ID to hilti::Charset::UTF8 +[debug/resolver] [hilti.hlt:14:23-14:49] declaration::Constant "const hilti::Charset UTF16 = hilti::Charset::UTF16;" -> set declaration's fully qualified ID to hilti::Charset::UTF16 +[debug/resolver] [hilti.hlt:14:23-14:49] declaration::Constant "const hilti::Charset Undef = hilti::Charset::Undef;" -> set declaration's fully qualified ID to hilti::Charset::Undef [debug/resolver] [hilti.hlt:15:35-15:66] declaration::Constant "const hilti::DecodeErrorStrategy IGNORE = hilti::DecodeErrorStrategy::IGNORE;" -> set declaration's fully qualified ID to hilti::DecodeErrorStrategy::IGNORE [debug/resolver] [hilti.hlt:15:35-15:66] declaration::Constant "const hilti::DecodeErrorStrategy REPLACE = hilti::DecodeErrorStrategy::REPLACE;" -> set declaration's fully qualified ID to hilti::DecodeErrorStrategy::REPLACE [debug/resolver] [hilti.hlt:15:35-15:66] declaration::Constant "const hilti::DecodeErrorStrategy STRICT = hilti::DecodeErrorStrategy::STRICT;" -> set declaration's fully qualified ID to hilti::DecodeErrorStrategy::STRICT @@ -681,38 +683,47 @@ [debug/ast-final] - ctor::String [parent @e:XXX] [@c:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] [debug/ast-final] - type::String [parent @q:XXX] (resolved) [@t:XXX] -[debug/ast-final] - declaration::Type [parent @d:XXX] (hilti.hlt:14:1-14:82) [@d:XXX] +[debug/ast-final] - declaration::Type [parent @d:XXX] (hilti.hlt:14:1-14:89) [@d:XXX] [debug/ast-final] | ASCII -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) +[debug/ast-final] | UTF16 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | UTF8 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | Undef -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) -[debug/ast-final] - QualifiedType [parent @d:XXX] (hilti.hlt:14:23-14:42) [@q:XXX] -[debug/ast-final] - type::Enum [parent @q:XXX] (hilti.hlt:14:23-14:42) (resolved) [@t:XXX] +[debug/ast-final] - QualifiedType [parent @d:XXX] (hilti.hlt:14:23-14:49) [@q:XXX] +[debug/ast-final] - type::Enum [parent @q:XXX] (hilti.hlt:14:23-14:49) (resolved) [@t:XXX] [debug/ast-final] | ASCII -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) +[debug/ast-final] | UTF16 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | UTF8 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | Undef -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] [debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:30-14:34) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] [debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:37-14:40) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] -[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:23-14:42) [@t:XXX] +[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:43-14:47) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - AttributeSet [parent @d:XXX] (hilti.hlt:14:43-14:81) [@a:XXX] -[debug/ast-final] - Attribute [parent @a:XXX] (hilti.hlt:14:43-14:81) [@a:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] +[debug/ast-final] - +[debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] +[debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] +[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:23-14:49) [@t:XXX] +[debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] +[debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] +[debug/ast-final] - AttributeSet [parent @d:XXX] (hilti.hlt:14:50-14:88) [@a:XXX] +[debug/ast-final] - Attribute [parent @a:XXX] (hilti.hlt:14:50-14:88) [@a:XXX] [debug/ast-final] - expression::Ctor [parent @a:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::String [parent @e:XXX] [@c:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] @@ -1302,7 +1313,7 @@ [debug/ast-final] [D6] hilti::AddressFamily [declaration::Type] (hilti.hlt:11:1-11:84) [debug/ast-final] [D7] hilti::RealType [declaration::Type] (hilti.hlt:12:1-12:96) [debug/ast-final] [D8] hilti::Protocol [declaration::Type] (hilti.hlt:13:1-13:78) -[debug/ast-final] [D9] hilti::Charset [declaration::Type] (hilti.hlt:14:1-14:82) +[debug/ast-final] [D9] hilti::Charset [declaration::Type] (hilti.hlt:14:1-14:89) [debug/ast-final] [D10] hilti::DecodeErrorStrategy [declaration::Type] (hilti.hlt:15:1-15:118) [debug/ast-final] [D11] hilti::Captures [declaration::Type] (hilti.hlt:16:1-16:37) [debug/ast-final] [D12] hilti::Profiler [declaration::Type] (hilti.hlt:17:1-17:61) @@ -1316,7 +1327,7 @@ [debug/ast-final] [D20] hilti [declaration::Module] (hilti.hlt:3:1-68:1) [debug/ast-final] [D21] Bar::Bar1 [declaration::Type] (bar.hlt:6:1-6:26) [debug/ast-final] [D22] Bar [declaration::Module] (bar.hlt:2:1-11:1) -[debug/ast-final] [D23] hilti::UTF8 [declaration::Constant] (hilti.hlt:14:23-14:42) +[debug/ast-final] [D23] hilti::UTF8 [declaration::Constant] (hilti.hlt:14:23-14:49) [debug/ast-final] [D24] hilti::REPLACE [declaration::Constant] (hilti.hlt:15:35-15:66) [debug/ast-final] [T1] hilti::BitOrder [type::Enum] (hilti.hlt:8:24-8:42) [debug/ast-final] [T2] hilti::ByteOrder [type::Enum] (hilti.hlt:9:25-9:59) @@ -1324,7 +1335,7 @@ [debug/ast-final] [T4] hilti::AddressFamily [type::Enum] (hilti.hlt:11:29-11:47) [debug/ast-final] [T5] hilti::RealType [type::Enum] (hilti.hlt:12:24-12:62) [debug/ast-final] [T6] hilti::Protocol [type::Enum] (hilti.hlt:13:24-13:46) -[debug/ast-final] [T7] hilti::Charset [type::Enum] (hilti.hlt:14:23-14:42) +[debug/ast-final] [T7] hilti::Charset [type::Enum] (hilti.hlt:14:23-14:49) [debug/ast-final] [T8] hilti::DecodeErrorStrategy [type::Enum] (hilti.hlt:15:35-15:66) [debug/ast-final] [T9] hilti::MatchState [type::Struct] (hilti.hlt:19:26-21:1) [debug/ast-final] [T10] hilti::StreamStatistics [type::Struct] (hilti.hlt:23:32-28:1) diff --git a/tests/Baseline/hilti.ast.types/output b/tests/Baseline/hilti.ast.types/output index 45a2b7a60..8a7962b3d 100644 --- a/tests/Baseline/hilti.ast.types/output +++ b/tests/Baseline/hilti.ast.types/output @@ -361,38 +361,47 @@ [debug/ast-final] - ctor::String [parent @e:XXX] [@c:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] [debug/ast-final] - type::String [parent @q:XXX] (resolved) [@t:XXX] -[debug/ast-final] - declaration::Type [parent @d:XXX] (hilti.hlt:14:1-14:82) [@d:XXX] +[debug/ast-final] - declaration::Type [parent @d:XXX] (hilti.hlt:14:1-14:89) [@d:XXX] [debug/ast-final] | ASCII -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) +[debug/ast-final] | UTF16 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | UTF8 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | Undef -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) -[debug/ast-final] - QualifiedType [parent @d:XXX] (hilti.hlt:14:23-14:42) [@q:XXX] -[debug/ast-final] - type::Enum [parent @q:XXX] (hilti.hlt:14:23-14:42) (resolved) [@t:XXX] +[debug/ast-final] - QualifiedType [parent @d:XXX] (hilti.hlt:14:23-14:49) [@q:XXX] +[debug/ast-final] - type::Enum [parent @q:XXX] (hilti.hlt:14:23-14:49) (resolved) [@t:XXX] [debug/ast-final] | ASCII -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) +[debug/ast-final] | UTF16 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | UTF8 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | Undef -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] [debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:30-14:34) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] [debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:37-14:40) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] -[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:23-14:42) [@t:XXX] +[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:43-14:47) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - AttributeSet [parent @d:XXX] (hilti.hlt:14:43-14:81) [@a:XXX] -[debug/ast-final] - Attribute [parent @a:XXX] (hilti.hlt:14:43-14:81) [@a:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] +[debug/ast-final] - +[debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] +[debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] +[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:23-14:49) [@t:XXX] +[debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] +[debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] +[debug/ast-final] - AttributeSet [parent @d:XXX] (hilti.hlt:14:50-14:88) [@a:XXX] +[debug/ast-final] - Attribute [parent @a:XXX] (hilti.hlt:14:50-14:88) [@a:XXX] [debug/ast-final] - expression::Ctor [parent @a:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::String [parent @e:XXX] [@c:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] @@ -965,7 +974,7 @@ [debug/ast-final] [D5] hilti::AddressFamily [declaration::Type] (hilti.hlt:11:1-11:84) [debug/ast-final] [D6] hilti::RealType [declaration::Type] (hilti.hlt:12:1-12:96) [debug/ast-final] [D7] hilti::Protocol [declaration::Type] (hilti.hlt:13:1-13:78) -[debug/ast-final] [D8] hilti::Charset [declaration::Type] (hilti.hlt:14:1-14:82) +[debug/ast-final] [D8] hilti::Charset [declaration::Type] (hilti.hlt:14:1-14:89) [debug/ast-final] [D9] hilti::DecodeErrorStrategy [declaration::Type] (hilti.hlt:15:1-15:118) [debug/ast-final] [D10] hilti::Captures [declaration::Type] (hilti.hlt:16:1-16:37) [debug/ast-final] [D11] hilti::Profiler [declaration::Type] (hilti.hlt:17:1-17:61) @@ -977,7 +986,7 @@ [debug/ast-final] [D17] hilti::RecoverableFailure [declaration::Type] (hilti.hlt:56:1-56:98) [debug/ast-final] [D18] hilti::MissingData [declaration::Type] (hilti.hlt:59:1-59:84) [debug/ast-final] [D19] hilti [declaration::Module] (hilti.hlt:3:1-68:1) -[debug/ast-final] [D20] hilti::UTF8 [declaration::Constant] (hilti.hlt:14:23-14:42) +[debug/ast-final] [D20] hilti::UTF8 [declaration::Constant] (hilti.hlt:14:23-14:49) [debug/ast-final] [D21] hilti::REPLACE [declaration::Constant] (hilti.hlt:15:35-15:66) [debug/ast-final] [T1] hilti::BitOrder [type::Enum] (hilti.hlt:8:24-8:42) [debug/ast-final] [T2] hilti::ByteOrder [type::Enum] (hilti.hlt:9:25-9:59) @@ -985,7 +994,7 @@ [debug/ast-final] [T4] hilti::AddressFamily [type::Enum] (hilti.hlt:11:29-11:47) [debug/ast-final] [T5] hilti::RealType [type::Enum] (hilti.hlt:12:24-12:62) [debug/ast-final] [T6] hilti::Protocol [type::Enum] (hilti.hlt:13:24-13:46) -[debug/ast-final] [T7] hilti::Charset [type::Enum] (hilti.hlt:14:23-14:42) +[debug/ast-final] [T7] hilti::Charset [type::Enum] (hilti.hlt:14:23-14:49) [debug/ast-final] [T8] hilti::DecodeErrorStrategy [type::Enum] (hilti.hlt:15:35-15:66) [debug/ast-final] [T9] hilti::MatchState [type::Struct] (hilti.hlt:19:26-21:1) [debug/ast-final] [T10] hilti::StreamStatistics [type::Struct] (hilti.hlt:23:32-28:1) diff --git a/tests/Baseline/hilti.expressions.ctor-replacement/output b/tests/Baseline/hilti.expressions.ctor-replacement/output index d511d8d90..3aa30786b 100644 --- a/tests/Baseline/hilti.expressions.ctor-replacement/output +++ b/tests/Baseline/hilti.expressions.ctor-replacement/output @@ -317,38 +317,47 @@ [debug/ast-final] - ctor::String [parent @e:XXX] [@c:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] [debug/ast-final] - type::String [parent @q:XXX] (resolved) [@t:XXX] -[debug/ast-final] - declaration::Type [parent @d:XXX] (hilti.hlt:14:1-14:82) [@d:XXX] +[debug/ast-final] - declaration::Type [parent @d:XXX] (hilti.hlt:14:1-14:89) [@d:XXX] [debug/ast-final] | ASCII -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) +[debug/ast-final] | UTF16 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | UTF8 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | Undef -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) -[debug/ast-final] - QualifiedType [parent @d:XXX] (hilti.hlt:14:23-14:42) [@q:XXX] -[debug/ast-final] - type::Enum [parent @q:XXX] (hilti.hlt:14:23-14:42) (resolved) [@t:XXX] +[debug/ast-final] - QualifiedType [parent @d:XXX] (hilti.hlt:14:23-14:49) [@q:XXX] +[debug/ast-final] - type::Enum [parent @q:XXX] (hilti.hlt:14:23-14:49) (resolved) [@t:XXX] [debug/ast-final] | ASCII -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) +[debug/ast-final] | UTF16 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | UTF8 -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) [debug/ast-final] | Undef -> declaration::Constant [parent @t:XXX] [@d:XXX] ([@d:XXX]) -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] [debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:30-14:34) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] [debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:37-14:40) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:42) [@d:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] [debug/ast-final] - [debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] -[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:23-14:42) [@t:XXX] +[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:43-14:47) [@t:XXX] [debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] -[debug/ast-final] - AttributeSet [parent @d:XXX] (hilti.hlt:14:43-14:81) [@a:XXX] -[debug/ast-final] - Attribute [parent @a:XXX] (hilti.hlt:14:43-14:81) [@a:XXX] +[debug/ast-final] - declaration::Constant [parent @t:XXX] (hilti.hlt:14:23-14:49) [@d:XXX] +[debug/ast-final] - +[debug/ast-final] - expression::Ctor [parent @d:XXX] (const) (resolved) [@e:XXX] +[debug/ast-final] - ctor::Enum [parent @e:XXX] [@c:XXX] +[debug/ast-final] - type::enum_::Label [parent @c:XXX] (hilti.hlt:14:23-14:49) [@t:XXX] +[debug/ast-final] - QualifiedType [parent @t:XXX] (hilti.hlt:14:30-14:34) [@q:XXX] +[debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] +[debug/ast-final] - AttributeSet [parent @d:XXX] (hilti.hlt:14:50-14:88) [@a:XXX] +[debug/ast-final] - Attribute [parent @a:XXX] (hilti.hlt:14:50-14:88) [@a:XXX] [debug/ast-final] - expression::Ctor [parent @a:XXX] (const) (resolved) [@e:XXX] [debug/ast-final] - ctor::String [parent @e:XXX] [@c:XXX] [debug/ast-final] - QualifiedType [parent @c:XXX] [@q:XXX] @@ -921,7 +930,7 @@ [debug/ast-final] [D5] hilti::AddressFamily [declaration::Type] (hilti.hlt:11:1-11:84) [debug/ast-final] [D6] hilti::RealType [declaration::Type] (hilti.hlt:12:1-12:96) [debug/ast-final] [D7] hilti::Protocol [declaration::Type] (hilti.hlt:13:1-13:78) -[debug/ast-final] [D8] hilti::Charset [declaration::Type] (hilti.hlt:14:1-14:82) +[debug/ast-final] [D8] hilti::Charset [declaration::Type] (hilti.hlt:14:1-14:89) [debug/ast-final] [D9] hilti::DecodeErrorStrategy [declaration::Type] (hilti.hlt:15:1-15:118) [debug/ast-final] [D10] hilti::Captures [declaration::Type] (hilti.hlt:16:1-16:37) [debug/ast-final] [D11] hilti::Profiler [declaration::Type] (hilti.hlt:17:1-17:61) @@ -933,7 +942,7 @@ [debug/ast-final] [D17] hilti::RecoverableFailure [declaration::Type] (hilti.hlt:56:1-56:98) [debug/ast-final] [D18] hilti::MissingData [declaration::Type] (hilti.hlt:59:1-59:84) [debug/ast-final] [D19] hilti [declaration::Module] (hilti.hlt:3:1-68:1) -[debug/ast-final] [D20] hilti::UTF8 [declaration::Constant] (hilti.hlt:14:23-14:42) +[debug/ast-final] [D20] hilti::UTF8 [declaration::Constant] (hilti.hlt:14:23-14:49) [debug/ast-final] [D21] hilti::REPLACE [declaration::Constant] (hilti.hlt:15:35-15:66) [debug/ast-final] [T1] hilti::BitOrder [type::Enum] (hilti.hlt:8:24-8:42) [debug/ast-final] [T2] hilti::ByteOrder [type::Enum] (hilti.hlt:9:25-9:59) @@ -941,7 +950,7 @@ [debug/ast-final] [T4] hilti::AddressFamily [type::Enum] (hilti.hlt:11:29-11:47) [debug/ast-final] [T5] hilti::RealType [type::Enum] (hilti.hlt:12:24-12:62) [debug/ast-final] [T6] hilti::Protocol [type::Enum] (hilti.hlt:13:24-13:46) -[debug/ast-final] [T7] hilti::Charset [type::Enum] (hilti.hlt:14:23-14:42) +[debug/ast-final] [T7] hilti::Charset [type::Enum] (hilti.hlt:14:23-14:49) [debug/ast-final] [T8] hilti::DecodeErrorStrategy [type::Enum] (hilti.hlt:15:35-15:66) [debug/ast-final] [T9] hilti::MatchState [type::Struct] (hilti.hlt:19:26-21:1) [debug/ast-final] [T10] hilti::StreamStatistics [type::Struct] (hilti.hlt:23:32-28:1) diff --git a/tests/Baseline/hilti.types.struct.canonical-ids/output b/tests/Baseline/hilti.types.struct.canonical-ids/output index 379f66a6e..307a1d139 100644 --- a/tests/Baseline/hilti.types.struct.canonical-ids/output +++ b/tests/Baseline/hilti.types.struct.canonical-ids/output @@ -46,6 +46,7 @@ [debug/ast-declarations] - Type "Charset" (hilti::Charset) [debug/ast-declarations] - Constant "ASCII" (hilti::ASCII) [debug/ast-declarations] - Constant "UTF8" (hilti::UTF8) +[debug/ast-declarations] - Constant "UTF16" (hilti::UTF16) [debug/ast-declarations] - Constant "Undef" (hilti::Undef_7) [debug/ast-declarations] - Type "DecodeErrorStrategy" (hilti::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (hilti::IGNORE) @@ -152,6 +153,7 @@ [debug/ast-declarations] - Type "Charset" (hilti::Charset) [debug/ast-declarations] - Constant "ASCII" (hilti::ASCII) [debug/ast-declarations] - Constant "UTF8" (hilti::UTF8) +[debug/ast-declarations] - Constant "UTF16" (hilti::UTF16) [debug/ast-declarations] - Constant "Undef" (hilti::Undef_7) [debug/ast-declarations] - Type "DecodeErrorStrategy" (hilti::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (hilti::IGNORE) diff --git a/tests/Baseline/spicy.types.function.cxxname-normalization/output b/tests/Baseline/spicy.types.function.cxxname-normalization/output index fce22e7ae..261c2f67c 100644 --- a/tests/Baseline/spicy.types.function.cxxname-normalization/output +++ b/tests/Baseline/spicy.types.function.cxxname-normalization/output @@ -7,7 +7,7 @@ [debug/resolver] [hilti.hlt:11:49-11:83] Attribute "&cxxname="hilti::rt::AddressFamily"" -> Attribute "&cxxname="::hilti::rt::AddressFamily"" [debug/resolver] [hilti.hlt:12:64-12:95] Attribute "&cxxname="hilti::rt::real::Type"" -> Attribute "&cxxname="::hilti::rt::real::Type"" [debug/resolver] [hilti.hlt:13:48-13:77] Attribute "&cxxname="hilti::rt::Protocol"" -> Attribute "&cxxname="::hilti::rt::Protocol"" -[debug/resolver] [hilti.hlt:14:44-14:81] Attribute "&cxxname="hilti::rt::unicode::Charset"" -> Attribute "&cxxname="::hilti::rt::unicode::Charset"" +[debug/resolver] [hilti.hlt:14:51-14:88] Attribute "&cxxname="hilti::rt::unicode::Charset"" -> Attribute "&cxxname="::hilti::rt::unicode::Charset"" [debug/resolver] [hilti.hlt:15:68-15:117] Attribute "&cxxname="hilti::rt::unicode::DecodeErrorStrategy"" -> Attribute "&cxxname="::hilti::rt::unicode::DecodeErrorStrategy"" [debug/resolver] [hilti.hlt:21:3-21:42] Attribute "&cxxname="hilti::rt::regexp::MatchState"" -> Attribute "&cxxname="::hilti::rt::regexp::MatchState"" [debug/resolver] [hilti.hlt:28:3-28:44] Attribute "&cxxname="hilti::rt::stream::Statistics"" -> Attribute "&cxxname="::hilti::rt::stream::Statistics"" @@ -63,31 +63,31 @@ [debug/resolver] [spicy.spicy:14:3-14:37] Attribute "&cxxname="hilti::rt::AddressFamily"" -> Attribute "&cxxname="::hilti::rt::AddressFamily"" [debug/resolver] [spicy.spicy:23:3-23:41] Attribute "&cxxname="hilti::rt::integer::BitOrder"" -> Attribute "&cxxname="::hilti::rt::integer::BitOrder"" [debug/resolver] [spicy.spicy:31:3-31:33] Attribute "&cxxname="hilti::rt::ByteOrder"" -> Attribute "&cxxname="::hilti::rt::ByteOrder"" -[debug/resolver] [spicy.spicy:37:3-37:40] Attribute "&cxxname="hilti::rt::unicode::Charset"" -> Attribute "&cxxname="::hilti::rt::unicode::Charset"" -[debug/resolver] [spicy.spicy:44:3-44:52] Attribute "&cxxname="hilti::rt::unicode::DecodeErrorStrategy"" -> Attribute "&cxxname="::hilti::rt::unicode::DecodeErrorStrategy"" -[debug/resolver] [spicy.spicy:52:3-52:42] Attribute "&cxxname="hilti::rt::regexp::MatchState"" -> Attribute "&cxxname="::hilti::rt::regexp::MatchState"" -[debug/resolver] [spicy.spicy:60:3-60:44] Attribute "&cxxname="hilti::rt::stream::Statistics"" -> Attribute "&cxxname="::hilti::rt::stream::Statistics"" -[debug/resolver] [spicy.spicy:67:3-67:32] Attribute "&cxxname="hilti::rt::Protocol"" -> Attribute "&cxxname="::hilti::rt::Protocol"" -[debug/resolver] [spicy.spicy:73:3-73:34] Attribute "&cxxname="hilti::rt::real::Type"" -> Attribute "&cxxname="::hilti::rt::real::Type"" -[debug/resolver] [spicy.spicy:78:3-78:47] Attribute "&cxxname="spicy::rt::sink::ReassemblerPolicy"" -> Attribute "&cxxname="::spicy::rt::sink::ReassemblerPolicy"" -[debug/resolver] [spicy.spicy:85:3-85:35] Attribute "&cxxname="hilti::rt::bytes::Side"" -> Attribute "&cxxname="::hilti::rt::bytes::Side"" -[debug/resolver] [spicy.spicy:91:3-91:41] Attribute "&cxxname="hilti::rt::stream::Direction"" -> Attribute "&cxxname="::hilti::rt::stream::Direction"" -[debug/resolver] [spicy.spicy:102:60-102:91] Attribute "&cxxname="spicy::rt::zlib::init"" -> Attribute "&cxxname="::spicy::rt::zlib::init"" -[debug/resolver] [spicy.spicy:105:81-105:118] Attribute "&cxxname="spicy::rt::zlib::decompress"" -> Attribute "&cxxname="::spicy::rt::zlib::decompress"" -[debug/resolver] [spicy.spicy:108:64-108:97] Attribute "&cxxname="spicy::rt::zlib::finish"" -> Attribute "&cxxname="::spicy::rt::zlib::finish"" -[debug/resolver] [spicy.spicy:111:81-111:116] Attribute "&cxxname="spicy::rt::base64::encode"" -> Attribute "&cxxname="::spicy::rt::base64::encode"" -[debug/resolver] [spicy.spicy:114:81-114:116] Attribute "&cxxname="spicy::rt::base64::decode"" -> Attribute "&cxxname="::spicy::rt::base64::decode"" -[debug/resolver] [spicy.spicy:117:68-117:103] Attribute "&cxxname="spicy::rt::base64::finish"" -> Attribute "&cxxname="::spicy::rt::base64::finish"" -[debug/resolver] [spicy.spicy:120:39-120:76] Attribute "&cxxname="spicy::rt::zlib::crc32_init"" -> Attribute "&cxxname="::spicy::rt::zlib::crc32_init"" -[debug/resolver] [spicy.spicy:123:62-123:98] Attribute "&cxxname="spicy::rt::zlib::crc32_add"" -> Attribute "&cxxname="::spicy::rt::zlib::crc32_add"" -[debug/resolver] [spicy.spicy:126:39-126:78] Attribute "&cxxname="hilti::rt::time::current_time"" -> Attribute "&cxxname="::hilti::rt::time::current_time"" -[debug/resolver] [spicy.spicy:136:97-136:130] Attribute "&cxxname="hilti::rt::time::mktime"" -> Attribute "&cxxname="::hilti::rt::time::mktime"" -[debug/resolver] [spicy.spicy:139:59-139:98] Attribute "&cxxname="spicy::rt::bytes_to_hexstring"" -> Attribute "&cxxname="::spicy::rt::bytes_to_hexstring"" -[debug/resolver] [spicy.spicy:142:53-142:86] Attribute "&cxxname="spicy::rt::bytes_to_mac"" -> Attribute "&cxxname="::spicy::rt::bytes_to_mac"" -[debug/resolver] [spicy.spicy:145:57-145:84] Attribute "&cxxname="hilti::rt::getenv"" -> Attribute "&cxxname="::hilti::rt::getenv"" -[debug/resolver] [spicy.spicy:157:68-157:97] Attribute "&cxxname="hilti::rt::strftime"" -> Attribute "&cxxname="::hilti::rt::strftime"" -[debug/resolver] [spicy.spicy:169:62-169:91] Attribute "&cxxname="hilti::rt::strptime"" -> Attribute "&cxxname="::hilti::rt::strptime"" -[debug/resolver] [spicy.spicy:174:49-174:84] Attribute "&cxxname="hilti::rt::address::parse"" -> Attribute "&cxxname="::hilti::rt::address::parse"" -[debug/resolver] [spicy.spicy:179:48-179:83] Attribute "&cxxname="hilti::rt::address::parse"" -> Attribute "&cxxname="::hilti::rt::address::parse"" -[debug/resolver] [spicy.spicy:184:39-184:72] Attribute "&cxxname="spicy::rt::accept_input"" -> Attribute "&cxxname="::spicy::rt::accept_input"" -[debug/resolver] [spicy.spicy:195:54-195:88] Attribute "&cxxname="spicy::rt::decline_input"" -> Attribute "&cxxname="::spicy::rt::decline_input"" +[debug/resolver] [spicy.spicy:38:3-38:40] Attribute "&cxxname="hilti::rt::unicode::Charset"" -> Attribute "&cxxname="::hilti::rt::unicode::Charset"" +[debug/resolver] [spicy.spicy:45:3-45:52] Attribute "&cxxname="hilti::rt::unicode::DecodeErrorStrategy"" -> Attribute "&cxxname="::hilti::rt::unicode::DecodeErrorStrategy"" +[debug/resolver] [spicy.spicy:53:3-53:42] Attribute "&cxxname="hilti::rt::regexp::MatchState"" -> Attribute "&cxxname="::hilti::rt::regexp::MatchState"" +[debug/resolver] [spicy.spicy:61:3-61:44] Attribute "&cxxname="hilti::rt::stream::Statistics"" -> Attribute "&cxxname="::hilti::rt::stream::Statistics"" +[debug/resolver] [spicy.spicy:68:3-68:32] Attribute "&cxxname="hilti::rt::Protocol"" -> Attribute "&cxxname="::hilti::rt::Protocol"" +[debug/resolver] [spicy.spicy:74:3-74:34] Attribute "&cxxname="hilti::rt::real::Type"" -> Attribute "&cxxname="::hilti::rt::real::Type"" +[debug/resolver] [spicy.spicy:79:3-79:47] Attribute "&cxxname="spicy::rt::sink::ReassemblerPolicy"" -> Attribute "&cxxname="::spicy::rt::sink::ReassemblerPolicy"" +[debug/resolver] [spicy.spicy:86:3-86:35] Attribute "&cxxname="hilti::rt::bytes::Side"" -> Attribute "&cxxname="::hilti::rt::bytes::Side"" +[debug/resolver] [spicy.spicy:92:3-92:41] Attribute "&cxxname="hilti::rt::stream::Direction"" -> Attribute "&cxxname="::hilti::rt::stream::Direction"" +[debug/resolver] [spicy.spicy:103:60-103:91] Attribute "&cxxname="spicy::rt::zlib::init"" -> Attribute "&cxxname="::spicy::rt::zlib::init"" +[debug/resolver] [spicy.spicy:106:81-106:118] Attribute "&cxxname="spicy::rt::zlib::decompress"" -> Attribute "&cxxname="::spicy::rt::zlib::decompress"" +[debug/resolver] [spicy.spicy:109:64-109:97] Attribute "&cxxname="spicy::rt::zlib::finish"" -> Attribute "&cxxname="::spicy::rt::zlib::finish"" +[debug/resolver] [spicy.spicy:112:81-112:116] Attribute "&cxxname="spicy::rt::base64::encode"" -> Attribute "&cxxname="::spicy::rt::base64::encode"" +[debug/resolver] [spicy.spicy:115:81-115:116] Attribute "&cxxname="spicy::rt::base64::decode"" -> Attribute "&cxxname="::spicy::rt::base64::decode"" +[debug/resolver] [spicy.spicy:118:68-118:103] Attribute "&cxxname="spicy::rt::base64::finish"" -> Attribute "&cxxname="::spicy::rt::base64::finish"" +[debug/resolver] [spicy.spicy:121:39-121:76] Attribute "&cxxname="spicy::rt::zlib::crc32_init"" -> Attribute "&cxxname="::spicy::rt::zlib::crc32_init"" +[debug/resolver] [spicy.spicy:124:62-124:98] Attribute "&cxxname="spicy::rt::zlib::crc32_add"" -> Attribute "&cxxname="::spicy::rt::zlib::crc32_add"" +[debug/resolver] [spicy.spicy:127:39-127:78] Attribute "&cxxname="hilti::rt::time::current_time"" -> Attribute "&cxxname="::hilti::rt::time::current_time"" +[debug/resolver] [spicy.spicy:137:97-137:130] Attribute "&cxxname="hilti::rt::time::mktime"" -> Attribute "&cxxname="::hilti::rt::time::mktime"" +[debug/resolver] [spicy.spicy:140:59-140:98] Attribute "&cxxname="spicy::rt::bytes_to_hexstring"" -> Attribute "&cxxname="::spicy::rt::bytes_to_hexstring"" +[debug/resolver] [spicy.spicy:143:53-143:86] Attribute "&cxxname="spicy::rt::bytes_to_mac"" -> Attribute "&cxxname="::spicy::rt::bytes_to_mac"" +[debug/resolver] [spicy.spicy:146:57-146:84] Attribute "&cxxname="hilti::rt::getenv"" -> Attribute "&cxxname="::hilti::rt::getenv"" +[debug/resolver] [spicy.spicy:158:68-158:97] Attribute "&cxxname="hilti::rt::strftime"" -> Attribute "&cxxname="::hilti::rt::strftime"" +[debug/resolver] [spicy.spicy:170:62-170:91] Attribute "&cxxname="hilti::rt::strptime"" -> Attribute "&cxxname="::hilti::rt::strptime"" +[debug/resolver] [spicy.spicy:175:49-175:84] Attribute "&cxxname="hilti::rt::address::parse"" -> Attribute "&cxxname="::hilti::rt::address::parse"" +[debug/resolver] [spicy.spicy:180:48-180:83] Attribute "&cxxname="hilti::rt::address::parse"" -> Attribute "&cxxname="::hilti::rt::address::parse"" +[debug/resolver] [spicy.spicy:185:39-185:72] Attribute "&cxxname="spicy::rt::accept_input"" -> Attribute "&cxxname="::spicy::rt::accept_input"" +[debug/resolver] [spicy.spicy:196:54-196:88] Attribute "&cxxname="spicy::rt::decline_input"" -> Attribute "&cxxname="::spicy::rt::decline_input"" diff --git a/tests/Baseline/spicy.types.unit.canonical-ids-with-import/output b/tests/Baseline/spicy.types.unit.canonical-ids-with-import/output index 5a9225617..46e0fcd8f 100644 --- a/tests/Baseline/spicy.types.unit.canonical-ids-with-import/output +++ b/tests/Baseline/spicy.types.unit.canonical-ids-with-import/output @@ -43,6 +43,7 @@ [debug/ast-declarations] - Type "Charset" (hilti::Charset) [debug/ast-declarations] - Constant "ASCII" (hilti::ASCII) [debug/ast-declarations] - Constant "UTF8" (hilti::UTF8) +[debug/ast-declarations] - Constant "UTF16" (hilti::UTF16) [debug/ast-declarations] - Constant "Undef" (hilti::Undef_7) [debug/ast-declarations] - Type "DecodeErrorStrategy" (hilti::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (hilti::IGNORE) @@ -289,6 +290,7 @@ [debug/ast-declarations] - Type "Charset" (spicy::Charset) [debug/ast-declarations] - Constant "ASCII" (spicy::ASCII) [debug/ast-declarations] - Constant "UTF8" (spicy::UTF8) +[debug/ast-declarations] - Constant "UTF16" (spicy::UTF16) [debug/ast-declarations] - Constant "Undef" (spicy::Undef_4) [debug/ast-declarations] - Type "DecodeErrorStrategy" (spicy::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (spicy::IGNORE) @@ -604,6 +606,7 @@ [debug/ast-declarations] - Type "Charset" (hilti::Charset) [debug/ast-declarations] - Constant "ASCII" (hilti::ASCII) [debug/ast-declarations] - Constant "UTF8" (hilti::UTF8) +[debug/ast-declarations] - Constant "UTF16" (hilti::UTF16) [debug/ast-declarations] - Constant "Undef" (hilti::Undef_7) [debug/ast-declarations] - Type "DecodeErrorStrategy" (hilti::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (hilti::IGNORE) @@ -850,6 +853,7 @@ [debug/ast-declarations] - Type "Charset" (spicy::Charset) [debug/ast-declarations] - Constant "ASCII" (spicy::ASCII) [debug/ast-declarations] - Constant "UTF8" (spicy::UTF8) +[debug/ast-declarations] - Constant "UTF16" (spicy::UTF16) [debug/ast-declarations] - Constant "Undef" (spicy::Undef_4) [debug/ast-declarations] - Type "DecodeErrorStrategy" (spicy::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (spicy::IGNORE) @@ -1080,6 +1084,7 @@ [debug/ast-declarations] - Type "Charset" (hilti::Charset) [debug/ast-declarations] - Constant "ASCII" (hilti::ASCII) [debug/ast-declarations] - Constant "UTF8" (hilti::UTF8) +[debug/ast-declarations] - Constant "UTF16" (hilti::UTF16) [debug/ast-declarations] - Constant "Undef" (hilti::Undef_7) [debug/ast-declarations] - Type "DecodeErrorStrategy" (hilti::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (hilti::IGNORE) @@ -1320,6 +1325,7 @@ [debug/ast-declarations] - Type "Charset" (spicy::Charset) [debug/ast-declarations] - Constant "ASCII" (spicy::ASCII) [debug/ast-declarations] - Constant "UTF8" (spicy::UTF8) +[debug/ast-declarations] - Constant "UTF16" (spicy::UTF16) [debug/ast-declarations] - Constant "Undef" (spicy::Undef_4) [debug/ast-declarations] - Type "DecodeErrorStrategy" (spicy::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (spicy::IGNORE) diff --git a/tests/Baseline/spicy.types.unit.canonical-ids/output b/tests/Baseline/spicy.types.unit.canonical-ids/output index f024199aa..19299c5be 100644 --- a/tests/Baseline/spicy.types.unit.canonical-ids/output +++ b/tests/Baseline/spicy.types.unit.canonical-ids/output @@ -42,6 +42,7 @@ [debug/ast-declarations] - Type "Charset" (hilti::Charset) [debug/ast-declarations] - Constant "ASCII" (hilti::ASCII) [debug/ast-declarations] - Constant "UTF8" (hilti::UTF8) +[debug/ast-declarations] - Constant "UTF16" (hilti::UTF16) [debug/ast-declarations] - Constant "Undef" (hilti::Undef_7) [debug/ast-declarations] - Type "DecodeErrorStrategy" (hilti::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (hilti::IGNORE) @@ -288,6 +289,7 @@ [debug/ast-declarations] - Type "Charset" (spicy::Charset) [debug/ast-declarations] - Constant "ASCII" (spicy::ASCII) [debug/ast-declarations] - Constant "UTF8" (spicy::UTF8) +[debug/ast-declarations] - Constant "UTF16" (spicy::UTF16) [debug/ast-declarations] - Constant "Undef" (spicy::Undef_4) [debug/ast-declarations] - Type "DecodeErrorStrategy" (spicy::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (spicy::IGNORE) @@ -751,6 +753,7 @@ [debug/ast-declarations] - Type "Charset" (hilti::Charset) [debug/ast-declarations] - Constant "ASCII" (hilti::ASCII) [debug/ast-declarations] - Constant "UTF8" (hilti::UTF8) +[debug/ast-declarations] - Constant "UTF16" (hilti::UTF16) [debug/ast-declarations] - Constant "Undef" (hilti::Undef_7) [debug/ast-declarations] - Type "DecodeErrorStrategy" (hilti::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (hilti::IGNORE) @@ -997,6 +1000,7 @@ [debug/ast-declarations] - Type "Charset" (spicy::Charset) [debug/ast-declarations] - Constant "ASCII" (spicy::ASCII) [debug/ast-declarations] - Constant "UTF8" (spicy::UTF8) +[debug/ast-declarations] - Constant "UTF16" (spicy::UTF16) [debug/ast-declarations] - Constant "Undef" (spicy::Undef_4) [debug/ast-declarations] - Type "DecodeErrorStrategy" (spicy::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (spicy::IGNORE) @@ -1217,6 +1221,7 @@ [debug/ast-declarations] - Type "Charset" (hilti::Charset) [debug/ast-declarations] - Constant "ASCII" (hilti::ASCII) [debug/ast-declarations] - Constant "UTF8" (hilti::UTF8) +[debug/ast-declarations] - Constant "UTF16" (hilti::UTF16) [debug/ast-declarations] - Constant "Undef" (hilti::Undef_7) [debug/ast-declarations] - Type "DecodeErrorStrategy" (hilti::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (hilti::IGNORE) @@ -1457,6 +1462,7 @@ [debug/ast-declarations] - Type "Charset" (spicy::Charset) [debug/ast-declarations] - Constant "ASCII" (spicy::ASCII) [debug/ast-declarations] - Constant "UTF8" (spicy::UTF8) +[debug/ast-declarations] - Constant "UTF16" (spicy::UTF16) [debug/ast-declarations] - Constant "Undef" (spicy::Undef_4) [debug/ast-declarations] - Type "DecodeErrorStrategy" (spicy::DecodeErrorStrategy) [debug/ast-declarations] - Constant "IGNORE" (spicy::IGNORE)