001 package escjava.vcGeneration;
002
003 // float * float -> boolean
004 abstract class TFloatOp extends TBoolRes {
005
006 protected void typeTree(){
007
008 /*
009 * Semantic control : each son should have type 'float'
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(_float)) {
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 float");
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(_float, true);
032
033 nodeTemp.typeTree();
034 }
035
036 }
037 }
038