lubomir@869: /** lubomir@869: * Back 2 Browser Bytecode Translator lubomir@869: * Copyright (C) 2012 Jaroslav Tulach lubomir@869: * lubomir@869: * This program is free software: you can redistribute it and/or modify lubomir@869: * it under the terms of the GNU General Public License as published by lubomir@869: * the Free Software Foundation, version 2 of the License. lubomir@869: * lubomir@869: * This program is distributed in the hope that it will be useful, lubomir@869: * but WITHOUT ANY WARRANTY; without even the implied warranty of lubomir@869: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the lubomir@869: * GNU General Public License for more details. lubomir@869: * lubomir@869: * You should have received a copy of the GNU General Public License lubomir@869: * along with this program. Look for COPYING file in the top folder. lubomir@869: * If not, see http://opensource.org/licenses/GPL-2.0. lubomir@869: */ lubomir@869: package org.apidesign.vm4brwsr; lubomir@869: lubomir@869: import java.io.IOException; lubomir@869: import org.apidesign.vm4brwsr.ByteCodeParser.ClassData; lubomir@869: import org.apidesign.vm4brwsr.ByteCodeParser.FieldData; lubomir@869: import org.apidesign.vm4brwsr.ByteCodeParser.MethodData; lubomir@869: lubomir@869: abstract class ObfuscationDelegate { lubomir@869: static ObfuscationDelegate NULL = lubomir@869: new ObfuscationDelegate() { lubomir@869: @Override lubomir@869: public void exportJSProperty(Appendable out, lubomir@869: String destObject, lubomir@869: String propertyName) lubomir@869: throws IOException { lubomir@869: } lubomir@869: lubomir@869: @Override lubomir@869: public void exportClass(Appendable out, lubomir@869: String destObject, lubomir@869: String mangledName, lubomir@869: ClassData classData) lubomir@869: throws IOException { lubomir@869: } lubomir@869: lubomir@869: @Override lubomir@869: public void exportMethod(Appendable out, lubomir@869: String destObject, lubomir@869: String mangledName, lubomir@869: MethodData methodData) lubomir@869: throws IOException { lubomir@869: } lubomir@869: lubomir@869: @Override lubomir@869: public void exportField(Appendable out, lubomir@869: String destObject, lubomir@869: String mangledName, lubomir@869: FieldData fieldData) lubomir@869: throws IOException { lubomir@869: } lubomir@869: }; lubomir@869: lubomir@869: public abstract void exportJSProperty( lubomir@869: Appendable out, String destObject, String propertyName) lubomir@869: throws IOException; lubomir@869: lubomir@869: public abstract void exportClass( lubomir@869: Appendable out, String destObject, String mangledName, lubomir@869: ClassData classData) throws IOException; lubomir@869: lubomir@869: public abstract void exportMethod( lubomir@869: Appendable out, String destObject, String mangledName, lubomir@869: MethodData methodData) throws IOException; lubomir@869: lubomir@869: public abstract void exportField( lubomir@869: Appendable out, String destObject, String mangledName, lubomir@869: FieldData fieldData) throws IOException; lubomir@869: }