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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? node.java

?? 主要的怎么樣結(jié)合java 和 javascript!
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * The contents of this file are subject to the Netscape Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is Rhino code, released * May 6, 1999. * * The Initial Developer of the Original Code is Netscape * Communications Corporation.  Portions created by Netscape are * Copyright (C) 1997-1999 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): * Norris Boyd * Roger Lawrence * Mike McCabe * * Alternatively, the contents of this file may be used under the * terms of the GNU Public License (the "GPL"), in which case the * provisions of the GPL are applicable instead of those above. * If you wish to allow use of your version of this file only * under the terms of the GPL and not to allow others to use your * version of this file under the NPL, indicate your decision by * deleting the provisions above and replace them with the notice * and other provisions required by the GPL.  If you do not delete * the provisions above, a recipient may use your version of this * file under either the NPL or the GPL. */package org.mozilla.javascript;/** * This class implements the root of the intermediate representation. * * @author Norris Boyd * @author Mike McCabe */public class Node{    public static final int        FUNCTION_PROP      =  1,        LOCAL_PROP         =  2,        LOCAL_BLOCK_PROP   =  3,        REGEXP_PROP        =  4,        CASEARRAY_PROP     =  5,    /*        the following properties are defined and manipulated by the        optimizer -        TARGETBLOCK_PROP - the block referenced by a branch node        VARIABLE_PROP - the variable referenced by a BIND or NAME node        ISNUMBER_PROP - this node generates code on Number children and                        delivers a Number result (as opposed to Objects)        DIRECTCALL_PROP - this call node should emit code to test the function                          object against the known class and call diret if it                          matches.    */        TARGETBLOCK_PROP   =  6,        VARIABLE_PROP      =  7,        ISNUMBER_PROP      =  8,        DIRECTCALL_PROP    =  9,        SPECIALCALL_PROP   = 10,        SKIP_INDEXES_PROP  = 11, // array of skipped indexes of array literal        OBJECT_IDS_PROP    = 12, // array of properties for object literal        INCRDECR_PROP      = 13, // pre or post type of increment/decerement        CATCH_SCOPE_PROP   = 14, // index of catch scope block in catch        LABEL_ID_PROP      = 15, // label id: code generation uses it        MEMBER_TYPE_PROP   = 16, // type of element access operation        NAME_PROP          = 17, // property name        LAST_PROP          = 17;    // values of ISNUMBER_PROP to specify    // which of the children are Number types    public static final int        BOTH = 0,        LEFT = 1,        RIGHT = 2;    public static final int    // values for SPECIALCALL_PROP        NON_SPECIALCALL  = 0,        SPECIALCALL_EVAL = 1,        SPECIALCALL_WITH = 2;    public static final int   // flags for INCRDECR_PROP        DECR_FLAG = 0x1,        POST_FLAG = 0x2;    public static final int   // flags for MEMBER_TYPE_PROP        PROPERTY_FLAG    = 0x1, // property access: element is valid name        ATTRIBUTE_FLAG   = 0x2, // x.@y or x..@y        DESCENDANTS_FLAG = 0x4; // x..y or x..@i    private static class NumberNode extends Node    {        NumberNode(double number)        {            super(Token.NUMBER);            this.number = number;        }        double number;    }    private static class StringNode extends Node    {        StringNode(int type, String str) {            super(type);            this.str = str;        }        String str;    }    public static class Jump extends Node    {        public Jump(int type)        {            super(type);        }        Jump(int type, int lineno)        {            super(type, lineno);        }        Jump(int type, Node child)        {            super(type, child);        }        Jump(int type, Node child, int lineno)        {            super(type, child, lineno);        }        public final Jump getJumpStatement()        {            if (!(type == Token.BREAK || type == Token.CONTINUE)) Kit.codeBug();            return jumpNode;        }        public final void setJumpStatement(Jump jumpStatement)        {            if (!(type == Token.BREAK || type == Token.CONTINUE)) Kit.codeBug();            if (jumpStatement == null) Kit.codeBug();            if (this.jumpNode != null) Kit.codeBug(); //only once            this.jumpNode = jumpStatement;        }        public final Node getDefault()        {            if (!(type == Token.SWITCH)) Kit.codeBug();            return target2;        }        public final void setDefault(Node defaultTarget)        {            if (!(type == Token.SWITCH)) Kit.codeBug();            if (defaultTarget.type != Token.TARGET) Kit.codeBug();            if (target2 != null) Kit.codeBug(); //only once            target2 = defaultTarget;        }        public final Node getFinally()        {            if (!(type == Token.TRY)) Kit.codeBug();            return target2;        }        public final void setFinally(Node finallyTarget)        {            if (!(type == Token.TRY)) Kit.codeBug();            if (finallyTarget.type != Token.TARGET) Kit.codeBug();            if (target2 != null) Kit.codeBug(); //only once            target2 = finallyTarget;        }        public final Jump getLoop()        {            if (!(type == Token.LABEL)) Kit.codeBug();            return jumpNode;        }        public final void setLoop(Jump loop)        {            if (!(type == Token.LABEL)) Kit.codeBug();            if (loop == null) Kit.codeBug();            if (jumpNode != null) Kit.codeBug(); //only once            jumpNode = loop;        }        public final Node getContinue()        {            if (type != Token.LOOP) Kit.codeBug();            return target2;        }        public final void setContinue(Node continueTarget)        {            if (type != Token.LOOP) Kit.codeBug();            if (continueTarget.type != Token.TARGET) Kit.codeBug();            if (target2 != null) Kit.codeBug(); //only once            target2 = continueTarget;        }        public Node target;        private Node target2;        private Jump jumpNode;    }    private static class PropListItem    {        PropListItem next;        int type;        int intValue;        Object objectValue;    }    public Node(int nodeType) {        type = nodeType;    }    public Node(int nodeType, Node child) {        type = nodeType;        first = last = child;        child.next = null;    }    public Node(int nodeType, Node left, Node right) {        type = nodeType;        first = left;        last = right;        left.next = right;        right.next = null;    }    public Node(int nodeType, Node left, Node mid, Node right) {        type = nodeType;        first = left;        last = right;        left.next = mid;        mid.next = right;        right.next = null;    }    public Node(int nodeType, int line) {        type = nodeType;        lineno = line;    }    public Node(int nodeType, Node child, int line) {        this(nodeType, child);        lineno = line;    }    public Node(int nodeType, Node left, Node right, int line) {        this(nodeType, left, right);        lineno = line;    }    public Node(int nodeType, Node left, Node mid, Node right, int line) {        this(nodeType, left, mid, right);        lineno = line;    }    public static Node newNumber(double number) {        return new NumberNode(number);    }    public static Node newString(String str) {        return new StringNode(Token.STRING, str);    }    public static Node newString(int type, String str) {        return new StringNode(type, str);    }    public int getType() {        return type;    }    public void setType(int type) {        this.type = type;    }    public boolean hasChildren() {        return first != null;    }    public Node getFirstChild() {        return first;    }    public Node getLastChild() {        return last;    }    public Node getNext() {        return next;    }    public Node getChildBefore(Node child) {        if (child == first)            return null;        Node n = first;        while (n.next != child) {            n = n.next;            if (n == null)                throw new RuntimeException("node is not a child");        }        return n;    }    public Node getLastSibling() {        Node n = this;        while (n.next != null) {            n = n.next;        }        return n;    }    public void addChildToFront(Node child) {        child.next = first;        first = child;        if (last == null) {            last = child;        }    }    public void addChildToBack(Node child) {        child.next = null;        if (last == null) {            first = last = child;            return;        }        last.next = child;        last = child;    }    public void addChildrenToFront(Node children) {        Node lastSib = children.getLastSibling();        lastSib.next = first;        first = children;        if (last == null) {            last = lastSib;        }    }    public void addChildrenToBack(Node children) {        if (last != null) {            last.next = children;        }        last = children.getLastSibling();        if (first == null) {            first = children;        }    }    /**     * Add 'child' before 'node'.     */    public void addChildBefore(Node newChild, Node node) {        if (newChild.next != null)            throw new RuntimeException(                      "newChild had siblings in addChildBefore");        if (first == node) {            newChild.next = first;            first = newChild;            return;        }        Node prev = getChildBefore(node);        addChildAfter(newChild, prev);    }    /**     * Add 'child' after 'node'.     */    public void addChildAfter(Node newChild, Node node) {        if (newChild.next != null)            throw new RuntimeException(                      "newChild had siblings in addChildAfter");        newChild.next = node.next;        node.next = newChild;        if (last == node)            last = newChild;    }    public void removeChild(Node child) {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品新av中文字幕| 18欧美亚洲精品| 91精品国产欧美一区二区18| 91福利资源站| 欧美顶级少妇做爰| 精品污污网站免费看| 欧美日韩国产欧美日美国产精品| 色系网站成人免费| 欧美午夜精品免费| 欧美一级午夜免费电影| 久久久久久久综合日本| 久久综合色播五月| 亚洲欧美欧美一区二区三区| 国产欧美日韩在线视频| 国产视频一区二区在线观看| 日韩美女啊v在线免费观看| 亚洲123区在线观看| 国产99一区视频免费| 欧美午夜寂寞影院| 国产欧美一区二区三区鸳鸯浴| 亚洲永久精品大片| 国产精品系列在线观看| 91福利精品视频| 国产午夜亚洲精品理论片色戒| 日韩女优av电影| 亚洲丝袜制服诱惑| 久久99精品国产.久久久久| 在线免费观看一区| 国产欧美一区二区在线观看| 亚洲亚洲精品在线观看| bt欧美亚洲午夜电影天堂| 日韩你懂的在线播放| 日韩不卡在线观看日韩不卡视频| 成人午夜视频在线观看| 欧美激情一区二区三区在线| 国产精品 日产精品 欧美精品| 久久免费视频色| 国产成人精品亚洲午夜麻豆| 日韩一区二区三区四区| 久久蜜桃av一区精品变态类天堂| 久久国产三级精品| 中文无字幕一区二区三区| www.av精品| 日韩国产精品大片| 久久精品亚洲精品国产欧美kt∨| 国产成人自拍高清视频在线免费播放| 国产农村妇女精品| 色婷婷av一区| 国产精品综合一区二区| 亚洲人成7777| 精品国产一区久久| 成人av在线电影| 亚洲va在线va天堂| 久久精品人人做人人综合| 91视频在线看| 精品一区二区三区视频在线观看 | 亚洲精品一区二区三区在线观看| 国产成人精品亚洲日本在线桃色| 亚洲aaa精品| 中文字幕一区视频| 久久久久久免费网| 欧美精品日日鲁夜夜添| 99精品国产99久久久久久白柏| 秋霞国产午夜精品免费视频| 国产精品久久久久久久久快鸭| 精品免费一区二区三区| 欧美日韩一级片在线观看| 成人国产亚洲欧美成人综合网 | 日韩欧美国产精品一区| 欧美色图激情小说| 精品视频一区二区不卡| 99久久综合精品| 国产精品一区免费视频| 久久er99热精品一区二区| 日韩中文字幕亚洲一区二区va在线| 国产精品久久午夜| 亚洲天堂网中文字| 国产欧美精品日韩区二区麻豆天美| 久久夜色精品国产噜噜av | 视频一区二区国产| 日韩中文字幕1| 久久成人av少妇免费| 麻豆一区二区在线| 国产成人无遮挡在线视频| 日本v片在线高清不卡在线观看| 国产精品色在线| 亚洲欧美福利一区二区| 午夜欧美电影在线观看| 蜜桃精品在线观看| 国产99精品国产| 欧美自拍偷拍午夜视频| 欧美撒尿777hd撒尿| 久久午夜老司机| 亚洲色图在线看| 免费高清在线视频一区·| 国产成人福利片| 欧美美女视频在线观看| 国产喷白浆一区二区三区| 一区二区欧美精品| 日韩电影在线免费观看| 国产老妇另类xxxxx| 欧洲人成人精品| 久久久精品tv| 美女一区二区在线观看| 欧美性猛交一区二区三区精品| 精品国产三级电影在线观看| 夜夜嗨av一区二区三区四季av| 激情深爱一区二区| 欧美精品一二三四| 亚洲曰韩产成在线| av在线一区二区| 久久奇米777| 高清在线观看日韩| 久久亚洲欧美国产精品乐播| 久久这里只有精品首页| 亚洲一区二区欧美| 色呦呦网站一区| 亚洲精品v日韩精品| 99热这里都是精品| 一区视频在线播放| 成人爱爱电影网址| 国产精品传媒入口麻豆| 国产精品一区2区| 久久亚区不卡日本| 成人教育av在线| 亚洲色图欧美在线| 日本高清无吗v一区| 亚洲最大色网站| 欧美久久一区二区| 精品综合久久久久久8888| 欧美无乱码久久久免费午夜一区| 亚洲主播在线播放| 欧美日韩视频在线观看一区二区三区| 亚洲欧美日韩国产另类专区| 色88888久久久久久影院按摩| 亚洲国产综合91精品麻豆| 91麻豆精品国产91久久久资源速度| 日韩不卡免费视频| 国产精品亲子乱子伦xxxx裸| 欧美性猛交xxxx乱大交退制版| 奇米四色…亚洲| 国产精品少妇自拍| 欧美日韩另类一区| 激情综合网天天干| 亚洲一区二区三区中文字幕在线 | 亚洲一级二级在线| 26uuu色噜噜精品一区二区| 成人综合在线观看| 中文字幕av一区二区三区免费看| 欧美在线小视频| 国产v综合v亚洲欧| 激情五月婷婷综合| 亚洲bt欧美bt精品777| 国产精品欧美久久久久无广告| 欧美肥妇bbw| 日本道在线观看一区二区| 久久国产夜色精品鲁鲁99| 亚洲午夜电影在线观看| 亚洲图片另类小说| 国产精品日韩成人| 国产日韩综合av| 久久精品视频在线看| 日韩一区二区三| 777午夜精品免费视频| 欧美三级三级三级| 欧美少妇性性性| 宅男在线国产精品| 欧美片在线播放| 7777精品伊人久久久大香线蕉| 91视频国产观看| 欧美色视频在线观看| 欧美日本一区二区| 日韩欧美一区二区视频| 精品国产免费人成在线观看| 精品少妇一区二区| 欧美精品一区二区三区蜜桃| 久久精品视频免费观看| 国产精品久久精品日日| 亚洲一区二区在线免费观看视频| 亚洲综合图片区| 七七婷婷婷婷精品国产| 日韩精品电影一区亚洲| 老司机免费视频一区二区| 风间由美一区二区av101| 91麻豆蜜桃一区二区三区| 在线电影院国产精品| 久久久久久**毛片大全| 一区二区三区中文在线观看| 蜜桃久久精品一区二区| 色综合久久中文综合久久牛| 精品视频在线免费看| 国产免费观看久久| 日韩在线一区二区三区| 国产激情一区二区三区| 欧美色成人综合| 自拍偷在线精品自拍偷无码专区| 午夜久久久久久久久| av亚洲精华国产精华精| 久久综合色8888| 免费成人av在线|