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

Unified Diff: compiler/java/com/google/dart/compiler/backend/js/ast/JsFunction.java

Issue 9479013: Remove backends. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: More clean up Created 8 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: compiler/java/com/google/dart/compiler/backend/js/ast/JsFunction.java
diff --git a/compiler/java/com/google/dart/compiler/backend/js/ast/JsFunction.java b/compiler/java/com/google/dart/compiler/backend/js/ast/JsFunction.java
deleted file mode 100644
index 956f114e4772c11dabd2bd2f577d74c1fe0ad71a..0000000000000000000000000000000000000000
--- a/compiler/java/com/google/dart/compiler/backend/js/ast/JsFunction.java
+++ /dev/null
@@ -1,225 +0,0 @@
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.google.dart.compiler.backend.js.ast;
-
-import com.google.dart.compiler.common.SourceInfo;
-import com.google.dart.compiler.common.Symbol;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Represents a JavaScript function expression.
- */
-public final class JsFunction extends JsLiteral implements HasName {
-
- private static void trace(String title, String code) {
- System.out.println("---------------------------");
- System.out.println(title + ":");
- System.out.println("---------------------------");
- System.out.println(code);
- }
-
- protected JsBlock body;
- protected final List<JsParameter> params = new ArrayList<JsParameter>();
- protected final JsScope scope;
- private boolean artificiallyRescued;
- private boolean executeOnce;
- private boolean fromDart;
- private JsFunction impliedExecute;
- private JsName name;
- private boolean trace = false;
- private boolean traceFirst = true;
- private boolean hoisted = false;
- private boolean constructor = false;
-
- /**
- * Creates an anonymous function.
- */
- public JsFunction(JsScope parent) {
- this(parent, null, false);
- }
-
- /**
- * Creates a function that is not derived from Dart source.
- */
- public JsFunction(JsScope parent, JsName name) {
- this(parent, name, false);
- }
-
- /**
- * Creates a named function, possibly derived from Dart source.
- */
- public JsFunction(JsScope parent, JsName name, boolean fromDart) {
- assert (parent != null);
- this.fromDart = fromDart;
- setName(name);
- String scopeName = (name == null) ? "<anonymous>" : name.getIdent();
- scopeName = "function " + scopeName;
- this.scope = new JsScope(parent, scopeName);
- }
-
- public JsBlock getBody() {
- return body;
- }
-
- /**
- * If true, this indicates that only the first invocation of the function will
- * have any effects. Subsequent invocations may be considered to be no-op
- * calls whose return value is ignored.
- */
- public boolean getExecuteOnce() {
- return executeOnce;
- }
-
- public JsFunction getImpliedExecute() {
- return impliedExecute;
- }
-
- @Override
- public JsName getName() {
- return name;
- }
-
- @Override
- public Symbol getSymbol() {
- return name;
- }
-
- public List<JsParameter> getParameters() {
- return params;
- }
-
- public JsScope getScope() {
- return scope;
- }
-
- @Override
- public boolean hasSideEffects() {
- // If there's a name, the name is assigned to.
- return name != null;
- }
-
- public boolean isArtificiallyRescued() {
- return artificiallyRescued;
- }
-
- @Override
- public boolean isBooleanFalse() {
- return false;
- }
-
- @Override
- public boolean isBooleanTrue() {
- return true;
- }
-
- @Override
- public boolean isDefinitelyNotNull() {
- return true;
- }
-
- @Override
- public boolean isDefinitelyNull() {
- return false;
- }
-
- public boolean isFromDart() {
- return fromDart;
- }
-
- public void setArtificiallyRescued(boolean rescued) {
- this.artificiallyRescued = rescued;
- }
-
- public void setBody(JsBlock body) {
- this.body = body;
- }
-
- public void setExecuteOnce(boolean executeOnce) {
- this.executeOnce = executeOnce;
- }
-
- public void setFromDart(boolean fromDart) {
- this.fromDart = fromDart;
- }
-
- public void setImpliedExecute(JsFunction impliedExecute) {
- this.impliedExecute = impliedExecute;
- }
-
- public void setName(JsName name) {
- this.name = name;
- if (name != null) {
- if (isFromDart()) {
- name.setStaticRef(this);
- }
- }
- }
-
- public void setTrace() {
- this.trace = true;
- }
-
- @Override
- public void traverse(JsVisitor v, JsContext ctx) {
- String before = null;
- if (trace && v instanceof JsModVisitor) {
- before = this.toSource();
- if (traceFirst) {
- traceFirst = false;
- trace("SCRIPT INITIAL", before);
- }
- }
- if (v.visit(this, ctx)) {
- v.acceptWithInsertRemove(params);
- body = v.accept(body);
- }
- v.endVisit(this, ctx);
- if (trace && v instanceof JsModVisitor) {
- String after = this.toSource();
- if (!after.equals(before)) {
- String title = v.getClass().getSimpleName();
- trace(title, after);
- }
- }
- }
-
- public void setHoisted() {
- hoisted = true;
- }
-
- /** Whether the function has been hoisted */
- public boolean isHoisted() {
- return hoisted;
- }
-
- /**
- * Rebase the function to a new scope.
- * @param newScopeParent The scope to add the function to.
- */
- public void rebaseScope(JsScope newScopeParent) {
- this.scope.rebase(newScopeParent);
- }
-
- @Override
- public JsFunction setSourceRef(SourceInfo info) {
- super.setSourceRef(info);
- return this;
- }
-
- public boolean isConstructor() {
- return this.constructor;
- }
-
- public boolean setIsConstructor(boolean constructor) {
- return this.constructor = constructor;
- }
-
- @Override
- public NodeKind getKind() {
- return NodeKind.FUNCTION;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698