MCPcopy Create free account
hub / github.com/chibash/stone / translateStmnt

Method translateStmnt

src/chap14/ToJava.java:166–179  ·  view source on GitHub ↗
(StringBuilder code, ASTree tree,
                                      TypeInfo result, boolean last)

Source from the content-addressed store, hash-verified

164 return code.toString();
165 }
166 protected void translateStmnt(StringBuilder code, ASTree tree,
167 TypeInfo result, boolean last)
168 {
169 if (isControlStmnt(tree))
170 code.append(((ASTreeEx)tree).translate(last ? result : null));
171 else
172 if (last && result != null)
173 code.append(RESULT).append('=')
174 .append(translateExpr(tree, type, result)).append(";\n");
175 else if (isExprStmnt(tree))
176 code.append(((ASTreeEx)tree).translate(null)).append(";\n");
177 else
178 throw new StoneException("bad expression statement", this);
179 }
180 protected static boolean isExprStmnt(ASTree tree) {
181 if (tree instanceof BinaryExpr)
182 return "=".equals(((BinaryExpr)tree).operator());

Callers 1

translateMethod · 0.95

Calls 5

isControlStmntMethod · 0.95
isExprStmntMethod · 0.95
translateExprMethod · 0.80
appendMethod · 0.45
translateMethod · 0.45

Tested by

no test coverage detected