Package: PossibleBindTypeFinder

PossibleBindTypeFinder

nameinstructionbranchcomplexitylinemethod
PossibleBindTypeFinder(ITypeCheckerAssistantFactory)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
caseASeqMultipleBind(ASeqMultipleBind)
M: 0 C: 9
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
caseASetMultipleBind(ASetMultipleBind)
M: 0 C: 9
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
caseATypeMultipleBind(ATypeMultipleBind)
M: 0 C: 9
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
createNewReturnValue(INode)
M: 9 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
createNewReturnValue(Object)
M: 9 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
static {...}
M: 2 C: 6
75%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: /*
2: * #%~
3: * The VDM Type Checker
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.typechecker.utilities.pattern;
23:
24: import org.overture.ast.analysis.AnalysisException;
25: import org.overture.ast.analysis.AnswerAdaptor;
26: import org.overture.ast.node.INode;
27: import org.overture.ast.patterns.ASeqMultipleBind;
28: import org.overture.ast.patterns.ASetMultipleBind;
29: import org.overture.ast.patterns.ATypeMultipleBind;
30: import org.overture.ast.types.PType;
31: import org.overture.typechecker.assistant.ITypeCheckerAssistantFactory;
32:
33:•public class PossibleBindTypeFinder extends AnswerAdaptor<PType>
34: {
35:         protected ITypeCheckerAssistantFactory af;
36:
37:         public PossibleBindTypeFinder(ITypeCheckerAssistantFactory af)
38:         {
39:                 this.af = af;
40:         }
41:
42:         @Override
43:         public PType caseASetMultipleBind(ASetMultipleBind mb)
44:                         throws AnalysisException
45:         {
46:                 return af.createPPatternListAssistant().getPossibleType(mb.getPlist(), mb.getLocation());
47:         }
48:
49:         @Override
50:         public PType caseASeqMultipleBind(ASeqMultipleBind mb)
51:                         throws AnalysisException
52:         {
53:                 return af.createPPatternListAssistant().getPossibleType(mb.getPlist(), mb.getLocation());
54:         }
55:
56:         @Override
57:         public PType caseATypeMultipleBind(ATypeMultipleBind mb)
58:                         throws AnalysisException
59:         {
60:                 return af.createPPatternListAssistant().getPossibleType(mb.getPlist(), mb.getLocation());
61:         }
62:
63:         @Override
64:         public PType createNewReturnValue(INode node) throws AnalysisException
65:         {
66:•                assert false : "Should not happen";
67:                 return null;
68:         }
69:
70:         @Override
71:         public PType createNewReturnValue(Object node) throws AnalysisException
72:         {
73:•                assert false : "Should not happen";
74:                 return null;
75:         }
76: }