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.joni; 21 22 import jdk.nashorn.internal.joni.ast.AnchorNode; 23 import jdk.nashorn.internal.joni.ast.BackRefNode; 24 import jdk.nashorn.internal.joni.ast.CClassNode; 25 import jdk.nashorn.internal.joni.ast.CTypeNode; 26 import jdk.nashorn.internal.joni.ast.CallNode; 27 import jdk.nashorn.internal.joni.ast.ConsAltNode; 28 import jdk.nashorn.internal.joni.ast.EncloseNode; 29 import jdk.nashorn.internal.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 }