Package org.robovm.compiler.plugin.objc
Class ObjCProtocolProxyPlugin
java.lang.Object
org.robovm.compiler.plugin.Plugin
org.robovm.compiler.plugin.CompilerPlugin
org.robovm.compiler.plugin.AbstractCompilerPlugin
org.robovm.compiler.plugin.objc.ObjCProtocolProxyPlugin
public class ObjCProtocolProxyPlugin extends AbstractCompilerPlugin
CompilerPlugin which generates proxy classes for Objective-C protocol
interfaces. The proxy class implements all @Method and @Property methods of
an interface and all its superinterfaces. We need these proxy classes as
peers for Objective-C protocols which don't have a dedicated Java peer
class (e.g. when the class implementing the Objective-C protocol isn't
exposed).-
Field Summary
Fields Modifier and Type Field Description static StringOBJC_PROTOCOLstatic StringPROXY_CLASS_NAME_SUFFIX -
Constructor Summary
Constructors Constructor Description ObjCProtocolProxyPlugin() -
Method Summary
Modifier and Type Method Description voidbeforeClass(Config config, Clazz clazz, ModuleBuilder moduleBuilder)Called just before a class is about to be compiled.static booleanisObjCProxy(soot.SootClass cls)Methods inherited from class org.robovm.compiler.plugin.AbstractCompilerPlugin
afterClass, afterClassDependenciesResolved, afterLinker, afterMethod, afterObjectFile, beforeConfig, beforeLinker, beforeMethod, getArguments, helloClassMethods inherited from class org.robovm.compiler.plugin.Plugin
argumentValue, argumentValue, argumentValue, parseArguments
-
Field Details
-
OBJC_PROTOCOL
- See Also:
- Constant Field Values
-
PROXY_CLASS_NAME_SUFFIX
- See Also:
- Constant Field Values
-
-
Constructor Details
-
ObjCProtocolProxyPlugin
public ObjCProtocolProxyPlugin()
-
-
Method Details
-
isObjCProxy
public static boolean isObjCProxy(soot.SootClass cls) -
beforeClass
Description copied from class:CompilerPluginCalled just before a class is about to be compiled. Modifications to the underlyingSootClass(Clazz.getSootClass()) should be done at this stage.- Overrides:
beforeClassin classAbstractCompilerPlugin- Parameters:
config- the currentConfig.clazz- theClazzbeing compiled.moduleBuilder- theModuleBuilderholding the generated bitcode.
-