codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/lang/kotlin/KotlinHeuristicDependenciesExtractor.java [17:40]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public static final String PACKAGE_PREFIX = "package ";

    @Override
    public List<DependencyAnchor> extractDependencyAnchors(SourceFile sourceFile) {
        List<DependencyAnchor> anchors = new ArrayList<>();

        String content = sourceFile.getContent();
        content = content.replace("\t", " ");
        content = SourceCodeCleanerUtils.normalizeLineEnds(content);

        int startIndexOfPackageName = content.indexOf(PACKAGE_PREFIX);
        if (startIndexOfPackageName >= 0) {
            int endIndexOfPackageName = content.indexOf("\n", startIndexOfPackageName + PACKAGE_PREFIX.length());
            if (endIndexOfPackageName >= 0) {
                String packageName = content.substring(startIndexOfPackageName + PACKAGE_PREFIX.length(), endIndexOfPackageName).trim();
                DependencyAnchor dependencyAnchor = new DependencyAnchor(packageName);
                dependencyAnchor.setCodeFragment(content.substring(startIndexOfPackageName, endIndexOfPackageName + 1).trim());
                dependencyAnchor.getDependencyPatterns().add("import.* " + packageName.replace(".", "[.]") + "([.][A-Z].*|[.][*]|)");
                dependencyAnchor.getSourceFiles().add(sourceFile);
                anchors.add(dependencyAnchor);
            }
        }

        return anchors;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/lang/groovy/GroovyHeuristicDependenciesExtractor.java [17:41]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public static final String PACKAGE_PREFIX = "package ";

    @Override
    public List<DependencyAnchor> extractDependencyAnchors(SourceFile sourceFile) {
        List<DependencyAnchor> anchors = new ArrayList<>();

        String content = sourceFile.getContent();
        content = content.replace("\t", " ");
        content = SourceCodeCleanerUtils.normalizeLineEnds(content);

        int startIndexOfPackageName = content.indexOf(PACKAGE_PREFIX);
        if (startIndexOfPackageName >= 0) {
            int endIndexOfPackageName = content.indexOf("\n", startIndexOfPackageName + PACKAGE_PREFIX.length());
            if (endIndexOfPackageName >= 0) {
                String packageName = content.substring(startIndexOfPackageName + PACKAGE_PREFIX.length(), endIndexOfPackageName).trim();
                DependencyAnchor dependencyAnchor = new DependencyAnchor(packageName);
                dependencyAnchor.setCodeFragment(content.substring(startIndexOfPackageName, endIndexOfPackageName + 1).trim());
                dependencyAnchor.getDependencyPatterns().add("import.* " + packageName.replace(".", "[.]") + "([.][A-Z].*|[.][*]|)");
                dependencyAnchor.getSourceFiles().add(sourceFile);
                anchors.add(dependencyAnchor);
            }
        }


        return anchors;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



