nashorn/src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompiler.java
changeset 17814 3c57e9e1a5a4
parent 17813 1697301ac053
parent 17793 a08d0f5b08bc
child 17815 b72ae39e1329
equal deleted inserted replaced
17813:1697301ac053 17814:3c57e9e1a5a4
     1 /*
       
     2  * Permission is hereby granted, free of charge, to any person obtaining a copy of
       
     3  * this software and associated documentation files (the "Software"), to deal in
       
     4  * the Software without restriction, including without limitation the rights to
       
     5  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
       
     6  * of the Software, and to permit persons to whom the Software is furnished to do
       
     7  * so, subject to the following conditions:
       
     8  *
       
     9  * The above copyright notice and this permission notice shall be included in all
       
    10  * copies or substantial portions of the Software.
       
    11  *
       
    12  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
       
    13  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
       
    14  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
       
    15  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
       
    16  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
       
    17  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
       
    18  * SOFTWARE.
       
    19  */
       
    20 package jdk.nashorn.internal.runtime.regexp.joni;
       
    21 
       
    22 import jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode;
       
    23 import jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode;
       
    24 import jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode;
       
    25 import jdk.nashorn.internal.runtime.regexp.joni.ast.CTypeNode;
       
    26 import jdk.nashorn.internal.runtime.regexp.joni.ast.CallNode;
       
    27 import jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode;
       
    28 import jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode;
       
    29 import jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode;
       
    30 
       
    31 final class AsmCompiler extends AsmCompilerSupport {
       
    32 
       
    33     public AsmCompiler(Analyser analyser) {
       
    34         super(analyser);
       
    35     }
       
    36 
       
    37     @Override
       
    38     protected void prepare() {
       
    39         REG_NUM++;
       
    40         prepareMachine();
       
    41         prepareMachineInit();
       
    42         prepareMachineMatch();
       
    43 
       
    44         prepareFactory();
       
    45         prepareFactoryInit();
       
    46     }
       
    47 
       
    48     @Override
       
    49     protected void finish() {
       
    50         setupFactoryInit();
       
    51 
       
    52         setupMachineInit();
       
    53         setupMachineMatch();
       
    54 
       
    55         setupClasses();
       
    56     }
       
    57 
       
    58     @Override
       
    59     protected void compileAltNode(ConsAltNode node) {
       
    60     }
       
    61 
       
    62     @Override
       
    63     protected void addCompileString(char[] chars, int p, int mbLength, int strLength, boolean ignoreCase) {
       
    64         String template = installTemplate(chars, p, strLength);
       
    65     }
       
    66 
       
    67     @Override
       
    68     protected void compileCClassNode(CClassNode node) {
       
    69         if (node.bs != null) {
       
    70             String bitsetName = installBitSet(node.bs.bits);
       
    71         }
       
    72     }
       
    73 
       
    74     @Override
       
    75     protected void compileCTypeNode(CTypeNode node) {
       
    76     }
       
    77 
       
    78     @Override
       
    79     protected void compileAnyCharNode() {
       
    80     }
       
    81 
       
    82     @Override
       
    83     protected void compileBackrefNode(BackRefNode node) {
       
    84     }
       
    85 
       
    86     @Override
       
    87     protected void compileCallNode(CallNode node) {
       
    88     }
       
    89 
       
    90     @Override
       
    91     protected void compileCECQuantifierNode(QuantifierNode node) {
       
    92     }
       
    93 
       
    94     @Override
       
    95     protected void compileNonCECQuantifierNode(QuantifierNode node) {
       
    96     }
       
    97 
       
    98     @Override
       
    99     protected void compileOptionNode(EncloseNode node) {
       
   100     }
       
   101 
       
   102     @Override
       
   103     protected void compileEncloseNode(EncloseNode node) {
       
   104     }
       
   105 
       
   106     @Override
       
   107     protected void compileAnchorNode(AnchorNode node) {
       
   108     }
       
   109 }