Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Side by Side Diff: compiler/java/com/google/dart/compiler/backend/js/ast/JsExpression.java

Issue 9479013: Remove backends. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 package com.google.dart.compiler.backend.js.ast;
6
7 import com.google.dart.compiler.common.SourceInfo;
8
9 /**
10 * An abstract base class for all JavaScript expressions.
11 */
12 public abstract class JsExpression extends JsNode {
13
14 protected JsExpression() {
15 }
16
17 /**
18 * Determines whether the expression can cause side effects.
19 */
20 public abstract boolean hasSideEffects();
21
22 /**
23 * True if the target expression is definitely not null.
24 */
25 public abstract boolean isDefinitelyNotNull();
26
27 /**
28 * True if the target expression is definitely null.
29 */
30 public abstract boolean isDefinitelyNull();
31
32 /**
33 * Determines whether or not this expression is a leaf, such as a
34 * {@link JsNameRef}, {@link JsBooleanLiteral}, and so on. Leaf expressions
35 * never need to be parenthesized.
36 */
37 public boolean isLeaf() {
38 // Conservatively say that it isn't a leaf.
39 // Individual subclasses can speak for themselves if they are a leaf.
40 return false;
41 }
42
43 public JsExprStmt makeStmt() {
44 return new JsExprStmt(this);
45 }
46
47 @Override
48 public JsExpression setSourceRef(SourceInfo info) {
49 super.setSourceRef(info);
50 return this;
51 }
52 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698