1 16 package com.google.gwt.dev.jjs.ast.js; 17 18 import com.google.gwt.dev.jjs.SourceInfo; 19 import com.google.gwt.dev.jjs.ast.Context; 20 import com.google.gwt.dev.jjs.ast.JExpression; 21 import com.google.gwt.dev.jjs.ast.JProgram; 22 import com.google.gwt.dev.jjs.ast.JType; 23 import com.google.gwt.dev.jjs.ast.JVisitor; 24 25 import java.util.ArrayList ; 26 27 30 public class JMultiExpression extends JExpression { 31 32 public ArrayList exprs = new ArrayList (); 33 34 public JMultiExpression(JProgram program, SourceInfo info) { 35 super(program, info); 36 } 37 38 public JType getType() { 39 int c = exprs.size(); 40 if (c == 0) { 41 return program.getTypeVoid(); 42 } else { 43 return ((JExpression) exprs.get(c - 1)).getType(); 44 } 45 } 46 47 public boolean hasSideEffects() { 48 for (int i = 0; i < exprs.size(); ++i) { 49 JExpression expr = (JExpression) exprs.get(i); 50 if (expr.hasSideEffects()) { 51 return true; 52 } 53 } 54 return false; 55 } 56 57 public void traverse(JVisitor visitor, Context ctx) { 58 if (visitor.visit(this, ctx)) { 59 visitor.acceptWithInsertRemove(exprs); 60 } 61 visitor.endVisit(this, ctx); 62 } 63 64 } 65 | Popular Tags |