diff --git a/src/main/java/com/cflint/CFLint.java b/src/main/java/com/cflint/CFLint.java index 6fe266f9..f8ba82de 100644 --- a/src/main/java/com/cflint/CFLint.java +++ b/src/main/java/com/cflint/CFLint.java @@ -107,6 +107,7 @@ public class CFLint implements IErrorReporter { private static final String MISSING_SEMI = "MISSING_SEMI"; private static final String AVOID_EMPTY_FILES = "AVOID_EMPTY_FILES"; private static final String RESOURCE_BUNDLE_NAME = "com.cflint.cflint"; + private static final Pattern IGNORE_LINE_PATTERN = Pattern.compile("(?i).*cflint\\s+ignore:\\s*line.*"); private CFMLTagInfo tagInfo; private CFMLParser cfmlParser = new CFMLParser(); @@ -130,11 +131,14 @@ public class CFLint implements IErrorReporter { private Element currentElement = null; private boolean strictInclude; private Set> processed = new HashSet<>(); + private String currentSource = ""; + // Stack to store include file depth to ensure no recursion private final Stack includeFileStack = new Stack<>(); private int[] lineOffsets; + public CFLint(final CFLintConfiguration configFile) throws IOException { final CFLintFilter filter = CFLintFilter.createFilter(verbose); bugs = new BugList(filter); @@ -325,6 +329,7 @@ public void process(final String src, final String filename) throws CFLintScanEx final Context context = new Context(filename, null, null, false, handler,configuration); reportRule(null, null, context, null, new ContextMessage(AVOID_EMPTY_FILES, null)); } else { + currentSource = src; lineOffsets = getLineOffsets(src.split("\n")); final CFMLSource cfmlSource = new CFMLSource(src.contains("