亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? addexpr.java

?? JDK1.4編譯器后端
?? JAVA
字號:

package AST;
import java.util.HashSet;import java.util.LinkedHashSet;import java.io.FileNotFoundException;import java.io.File;import java.util.*;import beaver.*;import java.util.ArrayList;import java.util.zip.*;import java.io.*;public class AddExpr extends AdditiveExpr implements Cloneable {
    public void flushCache() {        super.flushCache();        type_computed = false;        type_value = null;    }     @SuppressWarnings({"unchecked", "cast"})  public AddExpr clone() throws CloneNotSupportedException {        AddExpr node = (AddExpr)super.clone();        node.type_computed = false;        node.type_value = null;        node.in$Circle(false);        node.is$Final(false);    return node;    }     @SuppressWarnings({"unchecked", "cast"})  public AddExpr copy() {      try {          AddExpr node = (AddExpr)clone();          if(children != null) node.children = (ASTNode[])children.clone();          return node;      } catch (CloneNotSupportedException e) {      }      System.err.println("Error: Could not clone node of type " + getClass().getName() + "!");      return null;    }     @SuppressWarnings({"unchecked", "cast"})  public AddExpr fullCopy() {        AddExpr res = (AddExpr)copy();        for(int i = 0; i < getNumChildNoTransform(); i++) {          ASTNode node = getChildNoTransform(i);          if(node != null) node = node.fullCopy();          res.setChild(node, i);        }        return res;    }    // Declared in TypeCheck.jrag at line 172    // 15.18  public void typeCheck() {    TypeDecl left = getLeftOperand().type();    TypeDecl right = getRightOperand().type();    if(!left.isString() && !right.isString())      super.typeCheck();    else if(left.isVoid())      error("The type void of the left hand side is not numeric");    else if(right.isVoid())      error("The type void of the right hand side is not numeric");  }    // Declared in CodeGeneration.jrag at line 1029  // binary  void emitOperation(CodeGeneration gen) { type().add(gen); }    // Declared in CreateBCode.jrag at line 880  public void createBCode(CodeGeneration gen) {    if(!type().isString())      super.createBCode(gen);    else if(isConstant()) {      StringLiteral.push(gen, constant().stringValue());    }    else {      TypeDecl stringBuffer = lookupType("java.lang", "StringBuffer");      String classname = stringBuffer.constantPoolName();      String desc;      int index;      TypeDecl argumentType;      if(firstStringAddPart()) {        stringBuffer.emitNew(gen); // new StringBuffer        gen.emitDup();             // dup        desc = "()V";        index = gen.constantPool().addMethodref(classname, "<init>", desc);        gen.emit(Bytecode.INVOKESPECIAL, -1).add2(index); // invokespecial StringBuffer()        getLeftOperand().createBCode(gen); // left        argumentType = getLeftOperand().type().stringPromotion();        desc = "(" + argumentType.typeDescriptor() + ")" + stringBuffer.typeDescriptor();        index = gen.constantPool().addMethodref(classname, "append", desc);        gen.emit(Bytecode.INVOKEVIRTUAL, -argumentType.variableSize()).add2(index); // StringBuffer.append      }      else {        getLeftOperand().createBCode(gen);      }      getRightOperand().createBCode(gen); // right      argumentType = getRightOperand().type().stringPromotion();      desc = "(" + argumentType.typeDescriptor() + ")" + stringBuffer.typeDescriptor();      index = gen.constantPool().addMethodref(classname, "append", desc);      gen.emit(Bytecode.INVOKEVIRTUAL, -argumentType.variableSize()).add2(index); // StringBuffer.append      if(lastStringAddPart()) {        desc = "()" + type().typeDescriptor();        index = gen.constantPool().addMethodref(classname, "toString", desc);        gen.emit(Bytecode.INVOKEVIRTUAL, 0).add2(index); // StringBuffer.toString      }    }  }    // Declared in java.ast at line 3    // Declared in java.ast line 161
    public AddExpr() {        super();

    }    // Declared in java.ast at line 10
    // Declared in java.ast line 161    public AddExpr(Expr p0, Expr p1) {        setChild(p0, 0);        setChild(p1, 1);    }    // Declared in java.ast at line 15  protected int numChildren() {
    return 2;
  }    // Declared in java.ast at line 18
  public boolean mayHaveRewrite() { return false; }    // Declared in java.ast at line 2    // Declared in java.ast line 153    public void setLeftOperand(Expr node) {        setChild(node, 0);    }    // Declared in java.ast at line 5    public Expr getLeftOperand() {        return (Expr)getChild(0);    }    // Declared in java.ast at line 9    public Expr getLeftOperandNoTransform() {        return (Expr)getChildNoTransform(0);    }    // Declared in java.ast at line 2    // Declared in java.ast line 153    public void setRightOperand(Expr node) {        setChild(node, 1);    }    // Declared in java.ast at line 5    public Expr getRightOperand() {        return (Expr)getChild(1);    }    // Declared in java.ast at line 9    public Expr getRightOperandNoTransform() {        return (Expr)getChildNoTransform(1);    }    // Declared in ConstantExpression.jrag at line 121 @SuppressWarnings({"unchecked", "cast"})     public Constant constant() {        Constant constant_value = constant_compute();        return constant_value;    }    private Constant constant_compute() {  return type().add(getLeftOperand().constant(), getRightOperand().constant());  }    // Declared in PrettyPrint.jadd at line 420 @SuppressWarnings({"unchecked", "cast"})     public String printOp() {        String printOp_value = printOp_compute();        return printOp_value;    }    private String printOp_compute() {  return " + ";  }    // Declared in TypeAnalysis.jrag at line 328 @SuppressWarnings({"unchecked", "cast"})     public TypeDecl type() {        if(type_computed)            return type_value;        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        type_value = type_compute();        if(isFinal && num == boundariesCrossed)            type_computed = true;        return type_value;    }    private TypeDecl type_compute() {    TypeDecl left = getLeftOperand().type();    TypeDecl right = getRightOperand().type();    if(!left.isString() && !right.isString())      return super.type();    else {      if(left.isVoid() || right.isVoid())        return unknownType();      // pick the string type      return left.isString() ? left : right;    }  }    // Declared in InnerClasses.jrag at line 86 @SuppressWarnings({"unchecked", "cast"})     public boolean isStringAdd() {        boolean isStringAdd_value = isStringAdd_compute();        return isStringAdd_value;    }    private boolean isStringAdd_compute() {  return type().isString() && !isConstant();  }    // Declared in InnerClasses.jrag at line 88 @SuppressWarnings({"unchecked", "cast"})     public boolean firstStringAddPart() {        boolean firstStringAddPart_value = firstStringAddPart_compute();        return firstStringAddPart_value;    }    private boolean firstStringAddPart_compute() {  return type().isString() && !getLeftOperand().isStringAdd();  }    // Declared in InnerClasses.jrag at line 89 @SuppressWarnings({"unchecked", "cast"})     public boolean lastStringAddPart() {        boolean lastStringAddPart_value = lastStringAddPart_compute();        return lastStringAddPart_value;    }    private boolean lastStringAddPart_compute() {  return !getParent().isStringAdd();  }public ASTNode rewriteTo() {    return super.rewriteTo();}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩中文字幕麻豆| 91麻豆精品久久久久蜜臀| 国产欧美日韩精品a在线观看| 精品亚洲国产成人av制服丝袜| 日韩视频免费观看高清完整版在线观看| 日韩精品色哟哟| 精品欧美黑人一区二区三区| 国产精品资源在线观看| 午夜精品一区二区三区电影天堂| 欧美日韩在线播| 三级欧美在线一区| 日韩精品一区二| 成人国产视频在线观看| 亚洲综合清纯丝袜自拍| 日韩一区二区麻豆国产| 国产a视频精品免费观看| 亚洲黄色录像片| 欧美一区二区三区思思人| 国产精品中文字幕日韩精品| 亚洲啪啪综合av一区二区三区| 欧美精品在欧美一区二区少妇| 精品一区二区三区在线观看国产| 国产欧美日韩视频一区二区| 欧美视频日韩视频| 国产在线播精品第三| ...中文天堂在线一区| 欧美裸体一区二区三区| 国产成人99久久亚洲综合精品| 亚洲手机成人高清视频| 精品久久久久香蕉网| 91视频观看视频| 激情综合网激情| 亚洲不卡av一区二区三区| 国产农村妇女毛片精品久久麻豆 | 日韩电影在线观看一区| 久久久久成人黄色影片| 欧美日韩在线综合| 成人av在线一区二区| 久久99这里只有精品| 亚洲欧美成人一区二区三区| 3d动漫精品啪啪1区2区免费| 丁香六月久久综合狠狠色| 日韩经典一区二区| 亚洲三级在线看| 国产无一区二区| 日韩久久久精品| 欧美日韩亚州综合| 大胆欧美人体老妇| 捆绑紧缚一区二区三区视频| 一区二区三区欧美日韩| 色综合久久中文字幕综合网| 亚洲综合精品久久| 亚洲综合一区在线| 国产日韩av一区| 日韩精品一区二区三区四区| 欧美三级电影精品| 色婷婷久久一区二区三区麻豆| 国产一区二区三区免费在线观看| 日韩福利视频导航| 五月综合激情网| 亚洲综合色在线| 亚洲码国产岛国毛片在线| 亚洲国产精品激情在线观看| 精品国产伦一区二区三区免费| 欧美日韩国产免费一区二区 | 蜜臀精品一区二区三区在线观看 | 欧美日韩一区高清| 在线精品观看国产| 色综合久久综合| 色综合咪咪久久| 91香蕉国产在线观看软件| 99久久99久久久精品齐齐| 成人一区二区三区在线观看 | av在线不卡网| 成人听书哪个软件好| 国产成人超碰人人澡人人澡| 国产福利视频一区二区三区| 国产最新精品精品你懂的| 日本中文一区二区三区| 免播放器亚洲一区| 91在线小视频| 日韩高清欧美激情| 日本人妖一区二区| 色婷婷av一区二区三区软件| 成人动漫视频在线| caoporm超碰国产精品| 色婷婷久久一区二区三区麻豆| 色爱区综合激月婷婷| 欧美中文字幕一区| 在线综合视频播放| 久久久久久久综合色一本| 中日韩av电影| 亚洲精选视频在线| 日韩精品福利网| 国内外成人在线| 成人av网站在线| 欧美日韩激情一区二区| 日韩欧美成人一区二区| 久久精品网站免费观看| 亚洲久草在线视频| 天天射综合影视| 国产精品一区二区你懂的| 91在线观看一区二区| 欧美军同video69gay| 久久婷婷一区二区三区| 亚洲精品一二三| 免费观看30秒视频久久| 成人激情综合网站| 欧美日韩国产小视频| 日韩免费视频线观看| 国产精品久久久久久久久久久免费看| 亚洲一区中文日韩| 狠狠色综合日日| 91福利在线免费观看| 精品国产电影一区二区| 综合自拍亚洲综合图不卡区| 免费在线视频一区| 色综合天天视频在线观看 | 国产精品99久久久久久似苏梦涵| 99国产精品国产精品毛片| 在线播放91灌醉迷j高跟美女| 久久久久久久久久久电影| 亚洲主播在线播放| 国产成人av福利| 欧美久久婷婷综合色| 国产精品嫩草99a| 日本午夜精品一区二区三区电影| 不卡视频在线看| 日韩精品影音先锋| 亚洲影视在线播放| 久久99热国产| 中文字幕视频一区二区三区久| 偷窥少妇高潮呻吟av久久免费| 欧美一区永久视频免费观看| 久久成人免费电影| 色婷婷精品久久二区二区蜜臂av| 亚洲欧美日韩中文字幕一区二区三区| 一区二区在线观看免费| 中文字幕亚洲综合久久菠萝蜜| 亚洲三级小视频| 国产精品一二三区在线| 91麻豆精品国产综合久久久久久| 亚洲女爱视频在线| 成人午夜激情在线| 337p粉嫩大胆噜噜噜噜噜91av| 天天亚洲美女在线视频| 欧美性猛交xxxx乱大交退制版 | 国产99精品国产| 精品久久久久久无| 蜜臀av一区二区| 欧美一区二区三区视频免费| 亚洲一区自拍偷拍| 在线免费观看一区| 亚洲精品国产精华液| 成人国产精品免费观看| 久久综合久久综合久久| 久久国产精品99久久人人澡| 欧美老女人第四色| 丝袜国产日韩另类美女| 欧美三级午夜理伦三级中视频| 亚洲视频香蕉人妖| 91色|porny| 亚洲色图欧洲色图婷婷| 91视频一区二区三区| 中文字幕在线一区免费| 99久久精品免费| 亚洲色图欧洲色图| 欧美日韩一区视频| 青青草原综合久久大伊人精品| 欧美日韩一区二区在线观看| 亚洲电影一区二区三区| 欧美欧美欧美欧美首页| 日韩成人av影视| 日韩欧美在线一区二区三区| 老司机免费视频一区二区三区| 日韩欧美亚洲国产另类| 韩国av一区二区三区在线观看| 精品国产免费久久| 成人美女视频在线观看18| 香蕉加勒比综合久久 | 91精品欧美久久久久久动漫 | 欧美午夜精品久久久久久孕妇| 亚洲自拍都市欧美小说| 91精品婷婷国产综合久久| 国内精品在线播放| 国产视频视频一区| 91香蕉国产在线观看软件| 亚洲成av人片| www国产成人| 97精品超碰一区二区三区| 亚洲一区免费在线观看| 日韩一区二区电影在线| 成人综合婷婷国产精品久久蜜臀 | 色综合天天综合网天天狠天天| 一区二区三区小说| 欧美精品v日韩精品v韩国精品v| 麻豆精品一区二区三区| 国产精品美女久久久久久久久久久 | 欧美猛男男办公室激情| 久久99精品久久久久婷婷|