From f0142758d0b83904bd648dddf270199777d5ec6c Mon Sep 17 00:00:00 2001 From: aclement Date: Tue, 20 May 2008 18:30:38 +0000 Subject: [PATCH] 232712: fix - remove native when creating bridge method --- weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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(); -- 2.39.5