• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16exports.etsAnnotationsEnable = true;
17exports.emitIntermediateTS = true;
18
19exports.source = `
20const enum E {
21    A,
22    B
23}
24
25@interface Anno {
26    a: number = +E.A
27    b: number = -E.A
28    c: number = ~E.A
29    d  = !E.A
30    e: number = E.A | E.B
31    f: number = E.A & E.B
32    g: number = E.A >> E.B
33    h: number = E.A >>> E.B
34    i: number = E.A << E.B
35    j: number = E.A ^ E.B
36    k: number = E.A * E.B
37    l: number = E.A / E.B
38    m: number = E.A + E.B
39    o: number = E.A - E.B
40    p: number = E.A % E.B
41    q: number = E.A ** E.B
42    r: number = E.A && E.B
43    s: number = E.A || E.B
44    t = E.A < E.B
45    u = E.A <= E.B
46    v = E.A > E.B
47    w = E.A >= E.B
48    x = E.A === E.A
49    y = E.B !== E.B
50    z = E.A == E.A
51}
52`
53
54exports.expectResult = `let __generate__Id: number = 0;
55function generateId(): string {
56    return "annotationDeclarationFieldInitializer6_" + ++__generate__Id;
57}
58const enum E {
59    A = 0,
60    B = 1
61}
62@interface __$$ETS_ANNOTATION$$__Anno {
63    a: number = 0;
64    b: number = 0;
65    c: number = -1;
66    d: boolean = true;
67    e: number = 1;
68    f: number = 0;
69    g: number = 0;
70    h: number = 0;
71    i: number = 0;
72    j: number = 1;
73    k: number = 0;
74    l: number = 0;
75    m: number = 1;
76    o: number = -1;
77    p: number = 0;
78    q: number = 0;
79    r: number = 0;
80    s: number = 1;
81    t: boolean = true;
82    u: boolean = true;
83    v: boolean = false;
84    w: boolean = false;
85    x: boolean = true;
86    y: boolean = false;
87    z: boolean = true;
88}
89`