some bug fix
[IRC.git] / Robust / src / IR / Flat / BuildFlat.java
index 207dae3cdd2d2acc3182e2a337cda26222734edd..7cbb6100565099c9869a5da1a8df9735e2cfe840 100644 (file)
@@ -856,7 +856,14 @@ public class BuildFlat {
       /* Hack - use subtree instead */
       return flattenExpressionNode(nn.getExpression(),out_temp);
     } else if (nn.getField()!=null) {
-      TempDescriptor tmp=getTempforVar(nn.getVar());
+      TempDescriptor tmp= null;
+      if(state.MGC && (nn.getClassDesc() != null)) {
+        // this is a static field
+        tmp = new TempDescriptor(nn.getClassDesc().getSymbol(), nn.getClassType());
+        
+      } else {
+      tmp=getTempforVar(nn.getVar());
+      }
       FlatFieldNode ffn=new FlatFieldNode(nn.getField(), tmp, out_temp);
       return new NodePair(ffn,ffn);
     } else {