/* * 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. */ package android.hardware.tests.expression@1.0; import IExpression; interface IExpressionExt { enum NewEnum : int32_t { ENUM_GOOD = Constants:CONST_BAR, ENUM_BETTER = IExpression.Constants:CONST_BAR, ENUM_BEST = android.hardware.tests.expression@1.0::IExpression.Constants:CONST_BAR, }; typedef Constants AlsoConstants; typedef Color[((Constants:MAX_ARRAY_SIZE << 1) - (AlsoConstants:CONST_FOO + 1)*8) >> 1] SixteenColors; struct ArrayOfColors { Color[(Constants:MAX_ARRAY_SIZE << 1) - (Constants:CONST_FOO + 1)*8] my32Colors; // 32 }; struct AnotherArrayOfColors { SixteenColors my16Colors; }; @callflow(key=@1.0::IExpression.Constants:MAX_ARRAY_SIZE) foo3(int32_t[IExpression.Constants:MAX_ARRAY_SIZE] array); foo2(SixteenColors array); foo1(int32_t[Constants:CONST_FOO + 5] array); };