blob: bc48d011b751cf1a3786272ba010334193e5bb2d [file] [log] [blame]
/*
* Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
bad;
// semicolon!
package tests.errors.syntax@1.0
// bad; // can't recover from this yet
import IBad;
import IGood
import 1233;
// bad; // can't recover from this yet
import IBad;
import IGood2;
import IBad;
enum ForgetASemicolon {
}
bad;
interface IEx1 {
bad;
enum SomeBaseEnum : uint8_t {
// 3 bad 33, // can't recover from this yet
bar = 66,
// foo = NonExistentEnum, // can't recover from this yet
baz = 77,
// good-day obj, // can't recover from this yet
boo = 88,
errorval = 3 + (4 + ) + 5,
good = errorval + 1,
// eat struct // can't recover from this yet
};
enum SomeEnum : SomeBaseEnum {
};
struct Fumble {
bad;
SomeBaseEnum myEnum;
8Messy;
SomeEnum myEnum2;
int32_t missMySemicolon
int32_t good;
bad;
};
bad;
typedef Fumble Gumble;
struct Goober {
bad;
};
typedef float[3] ThreeFloats;
typedef float[5] FiveFloats;
typedef bad;
typedef ref<IEx1> NotAllowed;
typedef mask<ForgetASemicolon> Ok;
typedef vec<IEx1> OkToo;
typedef mask<IEx1> NotAllowedToo;
struct Quux {
string first;
typedef bad;
string last;
};
// union bad; // can't recover from this yet
// enum bad; // can't recover from this yet
struct MultiDimensional {
bad;
};
doTheSame(
// bad, // can't recover from this yet
);
doThat(bad bad);
shouldPass();
missASemicolon()
whatAboutThis()
struct NotGoodWithoutSemicolon {
}
struct Good {};
duplicatedArg(int32_t bar, MultiDimensional bar);
duplicatedResult() generates (uint32_t baz, bool baz);
} // another semicolon