1/*
2 * Some or all of this work - Copyright (c) 2006 - 2021, Intel Corp.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * Neither the name of Intel Corporation nor the names of its contributors
14 * may be used to endorse or promote products derived from this software
15 * without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29// Miscellaneous tests which are difficult to bring
30// into correlation with the particular known group
31
32Method(me00)
33{
34	Store("\x00", Debug)
35	Store("\x000123", Debug)
36	Store("\x00123", Debug)
37	Store("\x00xyz", Debug)
38	Store("1\x00", Debug)
39	Store("z\x00", Debug)
40	Store("2\x000123", Debug)
41	Store("x\x000123", Debug)
42	Store("3\x00xyz", Debug)
43	Store("w\x00xyz", Debug)
44}
45
46// Strings originally exceeding the maximal size, 200 symbols
47Method(me01)
48{
49	Store("012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", Local0)
50	Store(Local0, Debug)
51}
52
53/*
54 * Locally Created Data Objects are used before they
55 * are actually created though they are dynamic objects
56 * which appears only after execution of the relevant
57 * operator (Name in our example).
58 *
59 * 5.5.2.4 Local Variables and Locally Created Data Objects:
60 *	NameSpace objects created within the scope of a method
61 *	are dynamic. They exist only for the duration of the
62 *	method execution. They are created when specified by
63 *	the code...
64 */
65Method(me02)
66{
67	Store(0x12345678, n000)
68	Name(n000, 0)
69}
70
71// Commented, because it stops translation.
72// // From Bug 62.
73// Method(me02)
74// {
75// //	Name(s001, "\\sq\"v")
76// 	Name(s002, "\sq"v")
77// }
78
79Method(me03)
80{
81	Store("me03", Debug)
82}
83
84//       Method(me03)
85// Errorb1034 - ^ Name already exists in scope (ME03)
86Method(me03)
87{
88	Store("me03", Debug)
89}
90
91//         Name(n000, 0)
92// Error 1034 - ^ Name already exists in scope (N000)
93Method(me04)
94{
95	Name(n000, 0)
96	Name(n000, 0)
97
98	Store(n000, Debug)
99}
100
101//         Name(n000, 0)
102// Error 1034 - ^ Name already exists in scope (N000)
103Method(me05)
104{
105	Name (VV, 0x1234)
106	Store (32, Local0)
107
108	Name (VV, 0xBBBBAAAA)
109	Store (12, Local2)
110}
111