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