1f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko/*
2f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko * Copyright (C) 2016 The Android Open Source Project
3f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko *
4f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko * Licensed under the Apache License, Version 2.0 (the "License");
5f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko * you may not use this file except in compliance with the License.
6f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko * You may obtain a copy of the License at
7f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko *
8f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko *      http://www.apache.org/licenses/LICENSE-2.0
9f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko *
10f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko * Unless required by applicable law or agreed to in writing, software
11f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko * distributed under the License is distributed on an "AS IS" BASIS,
12f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko * See the License for the specific language governing permissions and
14f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko * limitations under the License.
15f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko */
16f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko
17f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Markopublic class Base {
18f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  Base() {
19f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    intField = 0;               // Unnecessary IPUT.
20f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    doubleField = 0.0;          // Unnecessary IPUT.
21f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    objectField = null;         // Unnecessary IPUT.
22f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  }
23f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko
24f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  Base(int intValue) {
25f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    intField = intValue;
26f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  }
27f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko
28f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  Base(String stringValue) {
29f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    objectField = stringValue;  // Unnecessary IPUT.
30f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    stringField = stringValue;
31f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    objectField = null;         // Unnecessary IPUT.
32f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  }
33f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko
34f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  Base(double doubleValue, Object objectValue) {
35f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    doubleField = doubleValue;
36f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    objectField = objectValue;
37f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  }
38f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko
39f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  Base(int intValue, double doubleValue, Object objectValue) {
40f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    intField = intValue;
41f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    doubleField = doubleValue;
42f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    objectField = objectValue;
43f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  }
44f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko
45f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  Base(int intValue, double doubleValue, Object objectValue, String stringValue) {
46f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    // Outside our limit of 3 IPUTs.
47f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    intField = intValue;
48f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    doubleField = doubleValue;
49f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    objectField = objectValue;
50f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    stringField = stringValue;
51f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  }
52f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko
53f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  Base(double doubleValue) {
54f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    this(doubleValue, null);
55f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  }
56f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko
57f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  Base(Object objectValue) {
58f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    // Unsupported forwarding of a value after a zero.
59f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    this(0.0, objectValue);
60f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  }
61f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko
62f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  Base(int intValue, long dummy) {
63f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko    this(intValue, 0.0, null);
64f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  }
65f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko
66f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  public int intField;
67f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  public double doubleField;
68f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  public Object objectField;
69f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko  public String stringField;
70f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4Vladimir Marko}
71