Package: TypeCheckException

TypeCheckException

nameinstructionbranchcomplexitylinemethod
TypeCheckException(String, ILexLocation, INode)
M: 0 C: 13
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
addExtra(TypeCheckException)
M: 0 C: 23
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 6
100%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: *
3: *        Copyright (C) 2008 Fujitsu Services Ltd.
4: *
5: *        Author: Nick Battle
6: *
7: *        This file is part of VDMJ.
8: *        
9: *        VDMJ is free software: you can redistribute it and/or modify
10: *        it under the terms of the GNU General Public License as published by
11: *        the Free Software Foundation, either version 3 of the License, or
12: *        (at your option) any later version.
13: *        
14: *        VDMJ is distributed in the hope that it will be useful,
15: *        but WITHOUT ANY WARRANTY; without even the implied warranty of
16: *        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17: *        GNU General Public License for more details.
18: *        
19: *        You should have received a copy of the GNU General Public License
20: *        along with VDMJ. If not, see <http://www.gnu.org/licenses/>.
21: *
22: ******************************************************************************/
23:
24: package org.overture.typechecker;
25:
26: import java.util.List;
27: import java.util.Vector;
28:
29: import org.overture.ast.intf.lex.ILexLocation;
30: import org.overture.ast.node.INode;
31:
32: /**
33: * A type checking exception.
34: */
35:
36: @SuppressWarnings("serial")
37: public class TypeCheckException extends RuntimeException
38: {
39:         public final ILexLocation location;
40:         public final INode node;
41:         public List<TypeCheckException> extras = null;
42:
43:         public TypeCheckException(String msg, ILexLocation location, INode node)
44:         {
45:                 super(msg);
46:                 this.location = location;
47:                 this.node = node;
48:         }
49:         
50:         public void addExtra(TypeCheckException e)
51:         {
52:•                if (extras == null)
53:                 {
54:                         extras = new Vector<TypeCheckException>();
55:                 }
56:                 
57:                 extras.add(e);
58:                 
59:•                if (e.extras != null)
60:                 {
61:                         extras.addAll(e.extras);
62:                 }
63:         }
64: }