@Override public boolean visit(MethodDeclaration methodDeclaration, ClassScope scope) { CtMethod<Object> m = factory.Core().createMethod(); m.setSimpleName(CharOperation.charToString(methodDeclaration.selector)); if (methodDeclaration.binding != null) { m.setExtendedModifiers(getModifiers(methodDeclaration.binding.modifiers, true, true)); } for (CtExtendedModifier extendedModifier : getModifiers(methodDeclaration.modifiers, false, true)) { m.addModifier(extendedModifier.getKind()); // avoid to keep implicit AND explicit modifier of the same kind. } m.setDefaultMethod(methodDeclaration.isDefaultMethod()); context.enter(m, methodDeclaration); // Create block if (!methodDeclaration.isAbstract() && (methodDeclaration.modifiers & ClassFileConstants.AccNative) == 0) { context.enter(getFactory().Core().createBlock(), methodDeclaration); context.exit(methodDeclaration); } // We consider the receiver as a standard argument (i.e. as a parameter) Receiver receiver = methodDeclaration.receiver; if (receiver != null) { receiver.traverse(this, methodDeclaration.scope); } return true; }
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (md.isAbstract()) return; if (md.isNative())
if (!methodDeclaration.isAbstract() && (methodDeclaration.modifiers & ClassFileConstants.AccNative) == 0) { CtBlock<?> b = factory.Core().createBlock(); context.enter(b, methodDeclaration);
if ((returnTypeBinding == TypeBinding.VOID) || isAbstract()) { if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) == 0) { this.bits |= ASTNode.NeedFreeReturn;
if ((returnTypeBinding == TypeBinding.VOID) || isAbstract()) { if ((flowInfo.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) == 0) { this.bits |= ASTNode.NeedFreeReturn;
if ((returnTypeBinding == TypeBinding.VOID) || isAbstract()) { if ((flowInfo.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) == 0) { this.bits |= ASTNode.NeedFreeReturn;