From: aclement Date: Tue, 20 May 2008 18:30:38 +0000 (+0000) Subject: 232712: fix - remove native when creating bridge method X-Git-Tag: V1_6_1x~31 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f0142758d0b83904bd648dddf270199777d5ec6c;p=aspectj.git 232712: fix - remove native when creating bridge method --- diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java b/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java index 98e731490..7d08cfeb2 100644 --- a/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java +++ b/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java @@ -398,7 +398,9 @@ class BcelClassWeaver implements IClassWeaver { whatToBridgeToMethodGen.getSignature()); } LazyMethodGen bridgeMethod = makeBridgeMethod(clazz,theBridgeMethod); // The bridge method in this type will have the same signature as the one in the supertype - bridgeMethod.setAccessFlags(bridgeMethod.getAccessFlags() | 0x00000040 /*BRIDGE = 0x00000040*/ ); + int newflags = bridgeMethod.getAccessFlags() | 0x00000040;/*BRIDGE = 0x00000040*/ + if ((newflags & 0x00000100) !=0) newflags = newflags - 0x100;/* NATIVE = 0x00000100 - need to clear it */ + bridgeMethod.setAccessFlags(newflags ); Type returnType = BcelWorld.makeBcelType(theBridgeMethod.getReturnType()); Type[] paramTypes = BcelWorld.makeBcelTypes(theBridgeMethod.getParameterTypes()); Type[] newParamTypes=whatToBridgeToMethodGen.getArgumentTypes();