Package: FuncValAssistant

FuncValAssistant

nameinstructionbranchcomplexitylinemethod
FuncValAssistant()
M: 0 C: 8
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
findInterface(AMethodTypeIR)
M: 0 C: 25
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
getFuncValInterfaces()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
registerInterface(AInterfaceDeclIR)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%

Coverage

1: /*
2: * #%~
3: * VDM Code Generator
4: * %%
5: * Copyright (C) 2008 - 2014 Overture
6: * %%
7: * This program is free software: you can redistribute it and/or modify
8: * it under the terms of the GNU General Public License as
9: * published by the Free Software Foundation, either version 3 of the
10: * License, or (at your option) any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: * GNU General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public
18: * License along with this program. If not, see
19: * <http://www.gnu.org/licenses/gpl-3.0.html>.
20: * #~%
21: */
22: package org.overture.codegen.trans.funcvalues;
23:
24: import java.util.LinkedList;
25: import java.util.List;
26:
27: import org.overture.codegen.ir.declarations.AInterfaceDeclIR;
28: import org.overture.codegen.ir.types.AMethodTypeIR;
29:
30: public class FuncValAssistant
31: {
32:         private List<AInterfaceDeclIR> funcValInterfaces;
33:
34:         public FuncValAssistant()
35:         {
36:                 this.funcValInterfaces = new LinkedList<AInterfaceDeclIR>();
37:         }
38:
39:         public List<AInterfaceDeclIR> getFuncValInterfaces()
40:         {
41:                 return funcValInterfaces;
42:         }
43:
44:         public void registerInterface(AInterfaceDeclIR functionValueInterface)
45:         {
46:                 funcValInterfaces.add(functionValueInterface);
47:         }
48:
49:         public AInterfaceDeclIR findInterface(AMethodTypeIR methodType)
50:         {
51:•                for (AInterfaceDeclIR functionValueInterface : funcValInterfaces)
52:                 {
53:•                        if (1 + methodType.getParams().size() == functionValueInterface.getTemplateTypes().size())
54:                         {
55:                                 return functionValueInterface;
56:                         }
57:                 }
58:
59:                 return null;
60:         }
61: }