001 package escjava.vcGeneration;
002
003 // int * int -> boolean
004 abstract class TIntOp extends TBoolRes {
005
006 protected void typeTree(){
007
008 /*
009 * Semantic control : each son should have type 'integer'
010 */
011
012 for(int i = 0; i <= sons.size() - 1; i++){
013 TNode nodeTemp = getChildAt(i);
014
015 if(nodeTemp.type != null) {
016 if(!nodeTemp.type.equals(_integer)) {
017 System.err.println("*** Typecheck error in the tree of ifpvc");
018
019 /*
020 * Print all sons
021 */
022 System.err.println("Node : "+this.toString());
023 System.err.println("should have all sons with type integer");
024 System.err.println("List of sons :");
025
026 for(int j = 0; j <= sons.size() - j; j++)
027 System.err.println("Node : "+getChildAt(j).toString());
028 }
029 }
030 else // type has not been set, setting it
031 nodeTemp.setType(_integer, true);
032
033 nodeTemp.typeTree();
034
035 }
036
037 }
038 }
039