Examples of JVariable


Examples of com.google.gwt.dev.jjs.ast.JVariable

  private JNode transform(JVariableRef ref) {
    if (nodeToFold.getJNode() != ref) {
      return null;
    }
    JVariable var = ref.getTarget();
    JValueLiteral literal = assumption.get(var);
    Preconditions.checkNotNull(literal);
    return cloner.cloneExpression(literal);
  }
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JVariable

      }

      JsExpression initializer = (JsExpression) pop(); // initializer
      JsNameRef localRef = (JsNameRef) pop(); // localRef

      JVariable target = x.getVariableRef().getTarget();
      if (target instanceof JField
          && ((JField) target).getLiteralInitializer() != null) {
        // Will initialize at top scope; no need to double-initialize.
        push(null);
        return;
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JVariable

    private JFieldRef makeInstanceFieldRef(SourceInfo info, JField field) {
      return new JFieldRef(info, makeThisRef(info), field, curClass.classType);
    }

    private JExpression makeLocalRef(SourceInfo info, LocalVariableBinding b) {
      JVariable variable = curMethod.locals.get(b);
      assert variable != null;
      if (variable instanceof JLocal) {
        return new JLocalRef(info, (JLocal) variable);
      } else {
        return new JParameterRef(info, (JParameter) variable);
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JVariable

      }

      JsExpression initializer = pop(); // initializer
      JsNameRef localRef = pop(); // localRef

      JVariable target = x.getVariableRef().getTarget();
      if (target instanceof JField) {
        JField field = (JField) target;
        if (initializeAtTopScope(field)) {
          // Will initialize at top scope; no need to double-initialize.
          push(null);
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JVariable

      if (x instanceof JFieldRef) {
        // Skip fields as they are always qualified in JavaScript and their name resolution logic
        // is in {@link CreateNameAndScopesVisitor}.
        return;
      }
      JVariable local = x.getTarget();
      Scope oldVariableScope = scopesByLocal.get(local);
      Scope newVariableScope =  Scope.getInnermostEnclosingScope(oldVariableScope, currentScope);
      newVariableScope.addUsedName(local.getName());
      if (newVariableScope != oldVariableScope) {
        scopesByLocal.put(local, newVariableScope);
      }
      localsByName.put(local.getName(), local);
    }
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JVariable

    final Updater result = new Updater(in);

    node.accept(new CfgVisitor() {
      @Override
      public void visitReadWriteNode(CfgReadWriteNode node) {
        JVariable targetVariable = node.getTargetVariable();
        if (isSupportedVar(targetVariable)) {
          result.kill(targetVariable);
        }
      }

      @Override
      public void visitWriteNode(CfgWriteNode node) {
        JVariable targetVariable = node.getTargetVariable();
        if (!isSupportedVar(targetVariable)) {
          return;
        }

        if (!(node.getValue() instanceof JVariableRef)) {
          result.kill(targetVariable);
          return;
        }

        JVariable original = ((JVariableRef) node.getValue()).getTarget();
        original = result.getMostOriginal(original);

        if (original != targetVariable) {
          result.kill(targetVariable);
          if (isSupportedVar(original) &&
              original.getType() == targetVariable.getType()) {
            result.addCopy(original, targetVariable);
          }
        } else {
          // We don't have to kill any assumptions after i = i assignment.
        }
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JVariable

      AssumptionMap<CfgEdge, CopyAssumption> assumptionMap) {
    CopyAssumption in = AssumptionUtil.join(
        graph.getInEdges(node), assumptionMap);

    if (in != null && node instanceof CfgReadNode) {
      JVariable v = ((CfgReadNode) node).getTarget();
      final JVariable original = in.getOriginal(v);
      Preconditions.checkState(v != original,
          "Variable is a copy of itself: %s", v);
      if (original != null) {
        return new CopyTransformation(node, original, graph);
      }
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JVariable

    }

    CopyAssumption result = new CopyAssumption();

    for (JVariable v : copyToOriginal.keySet()) {
      JVariable original = copyToOriginal.get(v);
      if (original == value.copyToOriginal.get(v)) {
        result.copyToOriginal.put(v, original);
      } else {
        result.copyToOriginal.put(v, null);
      }
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JVariable

  private void kill(JVariable variable) {
    copyToOriginal.put(variable, null);

    for (JVariable v : Lists.create(copyToOriginal.keySet())) {
      JVariable original = copyToOriginal.get(v);
      if (original == variable) {
        copyToOriginal.put(v, null);
      }
    }
  }
View Full Code Here

Examples of com.google.gwt.dev.jjs.ast.JVariable

      assumption.addCopy(original, targetVariable);
    }

    public JVariable getMostOriginal(JVariable variable) {
      for (int i = 0; i < 10000; ++i) {
        JVariable original = getOriginal(variable);
        if (original == null) {
          return variable;
        }

        variable = original;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.