Package: TCAnnotation

TCAnnotation

Coverage

1: /*******************************************************************************
2: *
3: *        Copyright (c) 2019 Nick Battle.
4: *
5: *        Author: Nick Battle
6: *
7: *        This file is part of Overture
8: *
9: ******************************************************************************/
10:
11: package org.overture.typechecker.annotations;
12:
13: import org.overture.ast.definitions.PDefinition;
14: import org.overture.ast.definitions.SClassDefinition;
15: import org.overture.ast.expressions.PExp;
16: import org.overture.ast.modules.AModuleModules;
17: import org.overture.ast.statements.PStm;
18: import org.overture.typechecker.TypeCheckInfo;
19:
20: public interface TCAnnotation
21: {
22:         public void tcBefore(PDefinition node, TypeCheckInfo question);
23:         public void tcBefore(PExp node, TypeCheckInfo question);
24:         public void tcBefore(PStm node, TypeCheckInfo question);
25:         public void tcBefore(AModuleModules node, TypeCheckInfo question);
26:         public void tcBefore(SClassDefinition node, TypeCheckInfo question);
27:
28:         public void tcAfter(PDefinition node, TypeCheckInfo question);
29:         public void tcAfter(PExp node, TypeCheckInfo question);
30:         public void tcAfter(PStm node, TypeCheckInfo question);
31:         public void tcAfter(AModuleModules node, TypeCheckInfo question);
32:         public void tcAfter(SClassDefinition node, TypeCheckInfo question);
33: }