コード例 #1
0
ファイル: BytecodeEnhancer.java プロジェクト: nologic/nabs
 @Override
 public void visit(
     int version, int access, String name, String sig, String superName, String[] interfaces) {
   className = name;
   superclassName = superName;
   final String ENHANCED = "com/sleepycat/persist/impl/Enhanced";
   if (containsString(interfaces, ENHANCED)) {
     throw abort();
   }
   interfaces = appendString(interfaces, ENHANCED);
   isAbstract = ((access & ACC_ABSTRACT) != 0);
   hasPersistentSuperclass = (superName != null && !superName.equals("java/lang/Object"));
   super.visit(version, access, name, sig, superName, interfaces);
 }
コード例 #2
0
ファイル: BytecodeEnhancer.java プロジェクト: nologic/nabs
 @Override
 public void visitEnd() {
   if (!isPersistent || !hasDefaultConstructor) {
     throw abort();
   }
   /* Generate new code at the end of the class. */
   sortFields();
   genBdbNewInstance();
   genBdbNewArray();
   genBdbIsPriKeyFieldNullOrZero();
   genBdbWritePriKeyField();
   genBdbReadPriKeyField();
   genBdbWriteSecKeyFields();
   genBdbReadSecKeyFields();
   genBdbWriteNonKeyFields();
   genBdbReadNonKeyFields();
   genBdbGetField();
   genBdbSetField();
   genStaticBlock();
   super.visitEnd();
 }
コード例 #3
0
ファイル: BytecodeEnhancer.java プロジェクト: nologic/nabs
 @Override
 public void visitSource(String source, String debug) {
   super.visitSource(source, debug);
 }