7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 package compiler.compilercontrol.share.scenario;
25
26 import compiler.compilercontrol.share.method.MethodDescriptor;
27 import jdk.test.lib.Pair;
28 import pool.PoolHelper;
29
30 import java.lang.reflect.Executable;
31 import java.util.ArrayList;
32 import java.util.Collections;
33 import java.util.HashMap;
34 import java.util.List;
35 import java.util.Map;
36 import java.util.Optional;
37 import java.util.concurrent.Callable;
38
39 /**
40 * An abstract class that builds states by applying
41 * commands one after another
42 */
43 public abstract class AbstractCommandBuilder
44 implements StateBuilder<CompileCommand> {
45 protected static final List<Pair<Executable, Callable<?>>> METHODS
46 = new PoolHelper().getAllMethods();
47 protected final List<CompileCommand> compileCommands = new ArrayList<>();
48
49 @Override
50 public void add(CompileCommand command) {
51 compileCommands.add(command);
52 CommandStateBuilder.getInstance().add(command);
53 }
54
55 @Override
56 public Map<Executable, State> getStates() {
|
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 package compiler.compilercontrol.share.scenario;
25
26 import compiler.compilercontrol.share.method.MethodDescriptor;
27 import compiler.compilercontrol.share.pool.PoolHelper;
28 import jdk.test.lib.Pair;
29
30 import java.lang.reflect.Executable;
31 import java.util.ArrayList;
32 import java.util.Collections;
33 import java.util.HashMap;
34 import java.util.List;
35 import java.util.Map;
36 import java.util.concurrent.Callable;
37
38 /**
39 * An abstract class that builds states by applying
40 * commands one after another
41 */
42 public abstract class AbstractCommandBuilder
43 implements StateBuilder<CompileCommand> {
44 protected static final List<Pair<Executable, Callable<?>>> METHODS
45 = new PoolHelper().getAllMethods();
46 protected final List<CompileCommand> compileCommands = new ArrayList<>();
47
48 @Override
49 public void add(CompileCommand command) {
50 compileCommands.add(command);
51 CommandStateBuilder.getInstance().add(command);
52 }
53
54 @Override
55 public Map<Executable, State> getStates() {
|