package com.aptana.rdt.internal.parser.warnings;
import org.jruby.ast.FCallNode;
import org.rubypeople.rdt.core.parser.warnings.RubyLintVisitor;
import com.aptana.rdt.AptanaRDTPlugin;
import com.aptana.rdt.IProblem;
public class RequireGemChecker extends RubyLintVisitor {
private static final String REQUIRE_GEM = "require_gem";
private static final String MSG = "'require_gem' is deprecated and removed in RubyGems 1.0. Please use 'gem' instead";
public RequireGemChecker(String contents) {
super(AptanaRDTPlugin.getDefault().getOptions(), contents);
}
@Override
protected String getOptionKey() {
return AptanaRDTPlugin.COMPILER_PB_DEPRECATED_REQUIRE_GEM;
}
@Override
public Object visitFCallNode(FCallNode iVisited) {
if (iVisited.getName().equals(REQUIRE_GEM))
createProblem(iVisited.getPosition(), MSG);
return super.visitFCallNode(iVisited);
}
@Override
protected int getProblemID() {
return IProblem.DeprecatedRequireGem;
}
}