• 大小: 178KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-09-12
  • 语言: 其他
  • 标签: 开源项目  

资源简介

这是一个 Sonar 的插件,实现对 Objective-C 语言的分析。可分析角度包括: Complexity Design Documentation Duplications Issues Size Tests


标签:Sonar

资源截图

代码片段和文件信息

/*
 * Sonar objective-C Plugin
 * Copyright (C) 2012 OCTO Technology
 * dev@sonar.codehaus.org
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 3 of the License or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this program; if not write to the Free Software
 * Foundation Inc. 51 Franklin Street Fifth Floor Boston MA  02
 */
package org.sonar.objectivec;

import java.io.File;
import java.util.Collection;

import org.sonar.objectivec.api.objectiveCGrammar;
import org.sonar.objectivec.api.objectiveCMetric;
import org.sonar.objectivec.parser.objectiveCParser;
import org.sonar.squidbridge.AstScanner;
import org.sonar.squidbridge.CommentAnalyser;
import org.sonar.squidbridge.SquidAstVisitor;
import org.sonar.squidbridge.SquidAstVisitorContextImpl;
import org.sonar.squidbridge.api.SourceCode;
import org.sonar.squidbridge.api.SourceFile;
import org.sonar.squidbridge.api.SourceProject;
import org.sonar.squidbridge.indexer.QueryByType;
import org.sonar.squidbridge.metrics.CommentsVisitor;
import org.sonar.squidbridge.metrics.LinesOfCodeVisitor;
import org.sonar.squidbridge.metrics.LinesVisitor;

import com.sonar.sslr.impl.Parser;

public class objectiveCAstScanner {

    private objectiveCAstScanner() {
    }

    /**
     * Helper method for testing checks without having to deploy them on a Sonar instance.
     */
    public static SourceFile scanSingleFile(File file SquidAstVisitorjectiveCGrammar>... visitors) {
        if (!file.isFile()) {
            throw new IllegalArgumentException(“File ‘“ + file + “‘ not found.“);
        }
        AstScannerjectiveCGrammar> scanner = create(new objectiveCConfiguration() visitors);
        scanner.scanFile(file);
        Collection sources = scanner.getIndex().search(new QueryByType(SourceFile.class));
        if (sources.size() != 1) {
            throw new IllegalStateException(“Only one SourceFile was expected whereas “ + sources.size() + “ has been returned.“);
        }
        return (SourceFile) sources.iterator().next();
    }

    public static AstScannerjectiveCGrammar> create(objectiveCConfiguration conf SquidAstVisitorjectiveCGrammar>... visitors) {
        final SquidAstVisitorContextImpljectiveCGrammar> context = new SquidAstVisitorContextImpljectiveCGrammar>(new SourceProject(“objective-C Project“));
        final ParserjectiveCGrammar> parser = objectiveCParser.create(conf);

        AstScanner.BuilderjectiveCGrammar> builder = AstScanner.jectiveCGrammar> builder(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-01-29 22:12  sonar-objective-c-master\
     文件         153  2015-01-29 22:12  sonar-objective-c-master\.gitignore
     文件        4620  2015-01-29 22:12  sonar-objective-c-master\README.md
     文件         547  2015-01-29 22:12  sonar-objective-c-master\build-and-deploy.sh
     文件        6421  2015-01-29 22:12  sonar-objective-c-master\pom.xml
     目录           0  2015-01-29 22:12  sonar-objective-c-master\sample\
     文件       97620  2015-01-29 22:12  sonar-objective-c-master\sample\screen shot SonarQube dashboard.png
     文件        2106  2015-01-29 22:12  sonar-objective-c-master\sample\sonar-project.properties
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\main\
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\main\java\
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\
     文件        4458  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\objectiveCAstScanner.java
     文件        1412  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\objectiveCConfiguration.java
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\api\
     文件        1321  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\api\objectiveCGrammar.java
     文件        4462  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\api\objectiveCKeyword.java
     文件        1522  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\api\objectiveCMetric.java
     文件        2296  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\api\objectiveCPunctuator.java
     文件        1223  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\api\objectiveCTokenType.java
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\checks\
     文件        1246  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\checks\CheckList.java
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\lexer\
     文件        1943  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\lexer\objectiveCLexer.java
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\parser\
     文件        1258  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\parser\objectiveCGrammarImpl.java
     文件        1720  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\objectivec\parser\objectiveCParser.java
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\plugins\
     目录           0  2015-01-29 22:12  sonar-objective-c-master\src\main\java\org\sonar\plugins\objectivec\
............此处省略72个文件信息

评论

共有 条评论