Adding sypet to repo
[Benchmarks_CSolver.git] / sypet-non-incremental / src / edu / utexas / sypet / synthesis / model / VariableFactory.java
1 /*
2  * Copyright (C) 2017 The SyPet Authors
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 package edu.utexas.sypet.synthesis.model;
17
18 import java.util.HashMap;
19 import java.util.Map;
20
21 public class VariableFactory {
22         private static int counter = 0;
23
24         private Map<Integer, Variable> vars = new HashMap<>();
25
26         // generate a hole of type t.
27         public Variable getVar(Hole hole, DefVar v) {
28                 counter++;
29                 int id = counter;
30                 Variable var = new Variable(id, hole, v);
31                 vars.put(id, var);
32                 return var;
33         }
34
35         public Variable getVarById(int id) {
36                 return vars.get(id);
37         }
38
39         public void reset() {
40                 counter = 0;
41         }
42 }