public static void inc(MutableInteger val) { System.out.println("inc called: " + val); val.increment(); }
private static void increment(final Map<Variable, MutableInteger> map, final Variable variable) { final MutableInteger count = map.get(variable); if (count == null) { map.put(variable, new MutableInteger(1)); } else { count.increment(); } }
private static void increment(final Map<Variable, MutableInteger> map, final Variable variable) { final MutableInteger count = map.get(variable); if (count == null) { map.put(variable, new MutableInteger(1)); } else { count.increment(); } }
private static void increment(final Map<Variable, MutableInteger> map, final Variable variable) { final MutableInteger count = map.get(variable); if (count == null) { map.put(variable, new MutableInteger(1)); } else { count.increment(); } }
private static void parseTypeParameters( final String s, final MutableInteger position, final Type<?> resolvedType, final Type<?>[] typeArguments) { int i = position.getValue(); assert s.charAt(i) == '<'; position.increment(); for (int j = 0; j < typeArguments.length; j++) { typeArguments[j] = parseTypeArgument(s, position, resolvedType, j); } i = position.getValue(); if (s.charAt(i) != '>') { throw Error.invalidSignatureExpectedEndOfTypeArguments(s, i); } position.increment(); }
private static void parseTypeParameters( final String s, final MutableInteger position, final Type<?> resolvedType, final Type<?>[] typeArguments) { int i = position.getValue(); assert s.charAt(i) == '<'; position.increment(); for (int j = 0; j < typeArguments.length; j++) { typeArguments[j] = parseTypeArgument(s, position, resolvedType, j); } i = position.getValue(); if (s.charAt(i) != '>') { throw Error.invalidSignatureExpectedEndOfTypeArguments(s, i); } position.increment(); }
private static void parseTypeParameters( final String s, final MutableInteger position, final Type<?> resolvedType, final Type<?>[] typeArguments) { int i = position.getValue(); assert s.charAt(i) == '<'; position.increment(); for (int j = 0; j < typeArguments.length; j++) { typeArguments[j] = parseTypeArgument(s, position, resolvedType, j); } i = position.getValue(); if (s.charAt(i) != '>') { throw Error.invalidSignatureExpectedEndOfTypeArguments(s, i); } position.increment(); }
return Type.makeWildcard(); case '+': return Type.makeExtendsWildcard(parseTypeArgument(s, position.increment(), genericType, typeArgumentIndex)); case '-': return Type.makeSuperWildcard(parseTypeArgument(s, position.increment(), genericType, typeArgumentIndex)); case '[': return parseTypeArgument(s, position.increment(), genericType, typeArgumentIndex).makeArrayType(); case 'L': return finishTopLevelType(s, position);
return Type.makeWildcard(); case '+': return Type.makeExtendsWildcard(parseTypeArgument(s, position.increment(), genericType, typeArgumentIndex)); case '-': return Type.makeSuperWildcard(parseTypeArgument(s, position.increment(), genericType, typeArgumentIndex)); case '[': return parseTypeArgument(s, position.increment(), genericType, typeArgumentIndex).makeArrayType(); case 'L': return finishTopLevelType(s, position);
return Type.makeWildcard(); case '+': return Type.makeExtendsWildcard(parseTopLevelSignature(s, position.increment())); case '-': return Type.makeSuperWildcard(parseTopLevelSignature(s, position.increment())); case '[': return parseTopLevelSignature(s, position.increment()).makeArrayType(); case 'B': return PrimitiveTypes.Byte;
return Type.makeWildcard(); case '+': return Type.makeExtendsWildcard(parseTypeArgument(s, position.increment(), genericType, typeArgumentIndex)); case '-': return Type.makeSuperWildcard(parseTypeArgument(s, position.increment(), genericType, typeArgumentIndex)); case '[': return parseTypeArgument(s, position.increment(), genericType, typeArgumentIndex).makeArrayType(); case 'L': return finishTopLevelType(s, position);
protected AbstractBasicBlockOptimization(final DecompilerContext context, final Block method) { this.context = VerifyArgument.notNull(context, "context"); this.resolver = context.getCurrentType().getResolver(); this.method = VerifyArgument.notNull(method, "method"); for (final Expression e : method.getSelfAndChildrenRecursive(Expression.class)) { if (e.isBranch()) { for (final Label target : e.getBranchTargets()) { labelGlobalRefCount.get(target).increment(); } } } for (final BasicBlock basicBlock : method.getSelfAndChildrenRecursive(BasicBlock.class)) { for (final Node child : basicBlock.getChildren()) { if (child instanceof Label) { labelToBasicBlock.put((Label) child, basicBlock); } } } } }
return Type.makeWildcard(); case '+': return Type.makeExtendsWildcard(parseTopLevelSignature(s, position.increment())); case '-': return Type.makeSuperWildcard(parseTopLevelSignature(s, position.increment())); case '[': return parseTopLevelSignature(s, position.increment()).makeArrayType(); case 'B': return PrimitiveTypes.Byte;
return Type.makeWildcard(); case '+': return Type.makeExtendsWildcard(parseTopLevelSignature(s, position.increment())); case '-': return Type.makeSuperWildcard(parseTopLevelSignature(s, position.increment())); case '[': return parseTopLevelSignature(s, position.increment()).makeArrayType(); case 'B': return PrimitiveTypes.Byte;
private static void introducePreIncrementOptimization(final DecompilerContext context, final Block method) { final Inlining inlining = new Inlining(context, method); inlining.analyzeMethod(); for (final Block block : method.getSelfAndChildrenRecursive(Block.class)) { final List<Node> body = block.getBody(); final MutableInteger position = new MutableInteger(); for (; position.getValue() < body.size() - 1; position.increment()) { if (!introducePreIncrementForVariables(body, position) && !introducePreIncrementForStaticFields(body, position, inlining)) { introducePreIncrementForInstanceFields(body, position, inlining); } } } }
protected AbstractBasicBlockOptimization(final DecompilerContext context, final Block method) { this.context = VerifyArgument.notNull(context, "context"); this.resolver = context.getCurrentType().getResolver(); this.method = VerifyArgument.notNull(method, "method"); for (final Expression e : method.getSelfAndChildrenRecursive(Expression.class)) { if (e.isBranch()) { for (final Label target : e.getBranchTargets()) { labelGlobalRefCount.get(target).increment(); } } } for (final BasicBlock basicBlock : method.getSelfAndChildrenRecursive(BasicBlock.class)) { for (final Node child : basicBlock.getChildren()) { if (child instanceof Label) { labelToBasicBlock.put((Label) child, basicBlock); } } } } }
protected AbstractBasicBlockOptimization(final DecompilerContext context, final Block method) { this.context = VerifyArgument.notNull(context, "context"); this.resolver = context.getCurrentType().getResolver(); this.method = VerifyArgument.notNull(method, "method"); for (final Expression e : method.getSelfAndChildrenRecursive(Expression.class)) { if (e.isBranch()) { for (final Label target : e.getBranchTargets()) { labelGlobalRefCount.get(target).increment(); } } } for (final BasicBlock basicBlock : method.getSelfAndChildrenRecursive(BasicBlock.class)) { for (final Node child : basicBlock.getChildren()) { if (child instanceof Label) { labelToBasicBlock.put((Label) child, basicBlock); } } } } }
private static void introducePreIncrementOptimization(final DecompilerContext context, final Block method) { final Inlining inlining = new Inlining(context, method); inlining.analyzeMethod(); for (final Block block : method.getSelfAndChildrenRecursive(Block.class)) { final List<Node> body = block.getBody(); final MutableInteger position = new MutableInteger(); for (; position.getValue() < body.size() - 1; position.increment()) { if (!introducePreIncrementForVariables(body, position) && !introducePreIncrementForStaticFields(body, position, inlining)) { introducePreIncrementForInstanceFields(body, position, inlining); } } } }
private static void introducePreIncrementOptimization(final DecompilerContext context, final Block method) { final Inlining inlining = new Inlining(context, method); inlining.analyzeMethod(); for (final Block block : method.getSelfAndChildrenRecursive(Block.class)) { final List<Node> body = block.getBody(); final MutableInteger position = new MutableInteger(); for (; position.getValue() < body.size() - 1; position.increment()) { if (!introducePreIncrementForVariables(body, position) && !introducePreIncrementForStaticFields(body, position, inlining)) { introducePreIncrementForInstanceFields(body, position, inlining); } } } }