@Override public boolean matches(final INode other, final Match match) { if (other instanceof MemberReferenceExpression) { final MemberReferenceExpression reference = (MemberReferenceExpression) other; if (_target.matches(reference.getTarget(), match) && _pattern.matcher(reference.getMemberName()).matches()) { match.add(_groupName, reference); return true; } } return false; } }
@Override public boolean matches(final INode other, final Match match) { if (other instanceof MemberReferenceExpression) { final MemberReferenceExpression reference = (MemberReferenceExpression) other; if (_target.matches(reference.getTarget(), match) && _pattern.matcher(reference.getMemberName()).matches()) { match.add(_groupName, reference); return true; } } return false; } }
@Override public boolean matches(final INode other, final Match match) { if (other instanceof MemberReferenceExpression) { final MemberReferenceExpression reference = (MemberReferenceExpression) other; if (_target.matches(reference.getTarget(), match) && _pattern.matcher(reference.getMemberName()).matches()) { match.add(_groupName, reference); return true; } } return false; } }
@Override public boolean matches(final INode other, final Match match) { if (other instanceof MemberReferenceExpression) { final MemberReferenceExpression otherExpression = (MemberReferenceExpression) other; return !otherExpression.isNull() && getTarget().matches(otherExpression.getTarget(), match) && matchString(getMemberName(), otherExpression.getMemberName()) && getTypeArguments().matches(otherExpression.getTypeArguments(), match); } return false; } }
@Override public boolean matches(final INode other, final Match match) { if (other instanceof MemberReferenceExpression) { final MemberReferenceExpression otherExpression = (MemberReferenceExpression) other; return !otherExpression.isNull() && getTarget().matches(otherExpression.getTarget(), match) && matchString(getMemberName(), otherExpression.getMemberName()) && getTypeArguments().matches(otherExpression.getTypeArguments(), match); } return false; } }
@Override public boolean matches(final INode other, final Match match) { if (other instanceof MemberReferenceExpression) { final MemberReferenceExpression otherExpression = (MemberReferenceExpression) other; return !otherExpression.isNull() && getTarget().matches(otherExpression.getTarget(), match) && matchString(getMemberName(), otherExpression.getMemberName()) && getTypeArguments().matches(otherExpression.getTypeArguments(), match); } return false; } }
@Override public Void visitMethodDeclaration(final MethodDeclaration node, final Void _) { final MethodDefinition methodDefinition = node.getUserData(Keys.METHOD_DEFINITION); if (isSwitchMapMethod(methodDefinition)) { final Match m = SWITCH_TABLE_METHOD_BODY.match(node.getBody()); if (m.success()) { final MemberReferenceExpression fieldAccess = first(m.<MemberReferenceExpression>get("fieldAccess")); final FieldReference field = (FieldReference) fieldAccess.getUserData(Keys.MEMBER_REFERENCE); final List<MemberReferenceExpression> enumValues = toList(m.<MemberReferenceExpression>get("enumValue")); final List<PrimitiveExpression> tableValues = toList(m.<PrimitiveExpression>get("tableValue")); assert field != null && tableValues.size() == enumValues.size(); final String key = makeKey(field); SwitchMapInfo info = _switchMaps.get(key); if (info == null) { _switchMaps.put(key, info = new SwitchMapInfo(field)); } info.switchMapMethodDeclaration = node; for (int i = 0; i < enumValues.size(); i++) { final MemberReferenceExpression memberReference = enumValues.get(i); final IdentifierExpression identifier = new IdentifierExpression( Expression.MYSTERY_OFFSET, memberReference.getMemberName()); identifier.putUserData(Keys.MEMBER_REFERENCE, memberReference.getUserData(Keys.MEMBER_REFERENCE)); info.mappings.put((Integer) tableValues.get(i).getValue(), identifier); } } } return super.visitMethodDeclaration(node, _); }
current = parent.getParent(), parent = current.getParent()) { final String memberName = ((MemberReferenceExpression) current).getMemberName(); final AstNodeCollection<Expression> arguments = ((InvocationExpression) parent).getArguments(); parent instanceof InvocationExpression && !(parent.getParent() instanceof ExpressionStatement) && StringUtilities.equals(((MemberReferenceExpression) current).getMemberName(), "toString") && ((InvocationExpression) parent).getArguments().isEmpty()) {
@Override public Void visitMethodDeclaration(final MethodDeclaration node, final Void p) { final MethodDefinition methodDefinition = node.getUserData(Keys.METHOD_DEFINITION); if (isSwitchMapMethod(methodDefinition)) { final Match m = SWITCH_TABLE_METHOD_BODY.match(node.getBody()); if (m.success()) { final MemberReferenceExpression fieldAccess = first(m.<MemberReferenceExpression>get("fieldAccess")); final FieldReference field = (FieldReference) fieldAccess.getUserData(Keys.MEMBER_REFERENCE); final List<MemberReferenceExpression> enumValues = toList(m.<MemberReferenceExpression>get("enumValue")); final List<PrimitiveExpression> tableValues = toList(m.<PrimitiveExpression>get("tableValue")); assert field != null && tableValues.size() == enumValues.size(); final String key = makeKey(field); SwitchMapInfo info = _switchMaps.get(key); if (info == null) { _switchMaps.put(key, info = new SwitchMapInfo(field)); } info.switchMapMethodDeclaration = node; for (int i = 0; i < enumValues.size(); i++) { final MemberReferenceExpression memberReference = enumValues.get(i); final IdentifierExpression identifier = new IdentifierExpression( Expression.MYSTERY_OFFSET, memberReference.getMemberName()); identifier.putUserData(Keys.MEMBER_REFERENCE, memberReference.getUserData(Keys.MEMBER_REFERENCE)); info.mappings.put((Integer) tableValues.get(i).getValue(), identifier); } } } return super.visitMethodDeclaration(node, p); }
current = parent.getParent(), parent = current.getParent()) { final String memberName = ((MemberReferenceExpression) current).getMemberName(); final AstNodeCollection<Expression> arguments = ((InvocationExpression) parent).getArguments(); parent instanceof InvocationExpression && !(parent.getParent() instanceof ExpressionStatement) && StringUtilities.equals(((MemberReferenceExpression) current).getMemberName(), "toString") && ((InvocationExpression) parent).getArguments().isEmpty()) {
current = parent.getParent(), parent = current.getParent()) { final String memberName = ((MemberReferenceExpression) current).getMemberName(); final AstNodeCollection<Expression> arguments = ((InvocationExpression) parent).getArguments(); parent instanceof InvocationExpression && !(parent.getParent() instanceof ExpressionStatement) && StringUtilities.equals(((MemberReferenceExpression) current).getMemberName(), "toString") && ((InvocationExpression) parent).getArguments().isEmpty()) {
@Override public Void visitMethodDeclaration(final MethodDeclaration node, final Void _) { final MethodDefinition methodDefinition = node.getUserData(Keys.METHOD_DEFINITION); if (isSwitchMapMethod(methodDefinition)) { final Match m = SWITCH_TABLE_METHOD_BODY.match(node.getBody()); if (m.success()) { final MemberReferenceExpression fieldAccess = first(m.<MemberReferenceExpression>get("fieldAccess")); final FieldReference field = (FieldReference) fieldAccess.getUserData(Keys.MEMBER_REFERENCE); final List<MemberReferenceExpression> enumValues = toList(m.<MemberReferenceExpression>get("enumValue")); final List<PrimitiveExpression> tableValues = toList(m.<PrimitiveExpression>get("tableValue")); assert field != null && tableValues.size() == enumValues.size(); final String key = makeKey(field); SwitchMapInfo info = _switchMaps.get(key); if (info == null) { _switchMaps.put(key, info = new SwitchMapInfo(field)); } info.switchMapMethodDeclaration = node; for (int i = 0; i < enumValues.size(); i++) { final MemberReferenceExpression memberReference = enumValues.get(i); final IdentifierExpression identifier = new IdentifierExpression( Expression.MYSTERY_OFFSET, memberReference.getMemberName()); identifier.putUserData(Keys.MEMBER_REFERENCE, memberReference.getUserData(Keys.MEMBER_REFERENCE)); info.mappings.put((Integer) tableValues.get(i).getValue(), identifier); } } } return super.visitMethodDeclaration(node, _); }
final String mapName = arrayAccess.getMemberName(); if (!"ordinal".equals(memberReference.getMemberName())) { return super.visitSwitchStatement(node, data);
final String mapName = arrayAccess.getMemberName(); if (!"ordinal".equals(memberReference.getMemberName())) { return super.visitSwitchStatement(node, data);
@Override public Void visitMemberReferenceExpression(final MemberReferenceExpression node, final Void ignored) { startNode(node); final Expression target = node.getTarget(); if (!target.isNull()) { target.acceptVisitor(this, null); writeToken(Roles.DOT); } writeTypeArguments(node.getTypeArguments()); writeIdentifier(node.getMemberName()); endNode(node); return null; }
@Override public Void visitMemberReferenceExpression(final MemberReferenceExpression node, final Void ignored) { startNode(node); final Expression target = node.getTarget(); if (!target.isNull()) { target.acceptVisitor(this, null); writeToken(Roles.DOT); } writeTypeArguments(node.getTypeArguments()); writeIdentifier(node.getMemberName()); endNode(node); return null; }
@Override public Void visitMemberReferenceExpression(final MemberReferenceExpression node, final Void ignored) { startNode(node); final Expression target = node.getTarget(); if (!target.isNull()) { target.acceptVisitor(this, null); writeToken(Roles.DOT); } writeTypeArguments(node.getTypeArguments()); writeIdentifier(node.getMemberName()); endNode(node); return null; }
if (StringUtilities.equals(node.getMemberName(), "length")) { if (targetResult != null && targetResult.getType() != null &&
if (StringUtilities.equals(node.getMemberName(), "length")) { if (targetResult != null && targetResult.getType() != null &&
if (StringUtilities.equals(node.getMemberName(), "length")) { if (targetResult != null && targetResult.getType() != null &&