亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? javancss.java

?? java覆蓋率測試工具
?? JAVA
字號:
/*
 * Cobertura - http://cobertura.sourceforge.net/
 *
 * This file was taken from JavaNCSS
 * http://www.kclee.com/clemens/java/javancss/
 * Copyright (C) 2000 Chr. Clemens Lee <clemens a.t kclee d.o.t com>
 *
 * Cobertura is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published
 * by the Free Software Foundation; either version 2 of the License,
 * or (at your option) any later version.
 *
 * Cobertura 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
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Cobertura; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 * USA
 */

package net.sourceforge.cobertura.javancss;

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;


/**
 * @author   Chr. Clemens Lee, recursive feature by P??k? Hannu,
 *           additional javadoc metrics by Emilio Gongora, <emilio@sms.nl>,
 *           and Guillermo Rodriguez, <guille@sms.nl>.
 */
public class Javancss
{

	private JavaParser _pJavaParser = null;
	private Vector _vJavaSourceFiles = new Vector();
	private String _sErrorMessage = null;
	private Vector _vMethodComplexities = new Vector();
	private Hashtable _htProcessedAtFiles = new Hashtable();

	public Javancss(String sJavaSourceFile_)
	{
		//System.out.println("Javancss.<init>(String).sJavaSourceFile_: " + sJavaSourceFile_);
		_sErrorMessage = null;
		_vJavaSourceFiles = new Vector();
		_vJavaSourceFiles.addElement(sJavaSourceFile_);
		try
		{
			_measureFiles(_vJavaSourceFiles);
		}
		catch (Exception e)
		{
			System.out.println("Javancss.<init>(String).e: " + e);
		}
		catch (TokenMgrError pError)
		{
			System.out.println("Javancss.<init>(String).pError: " + pError);
		}
	}

	private void _measureFiles(Vector vJavaSourceFiles_) throws IOException, ParseException,
			TokenMgrError
	{
		// for each file
		for (Enumeration e = vJavaSourceFiles_.elements(); e.hasMoreElements();)
		{
			String sJavaFileName = (String)e.nextElement();

			// if the file specifies other files...
			if (sJavaFileName.charAt(0) == '@')
			{
				if (sJavaFileName.length() > 1)
				{
					String sFileName = sJavaFileName.substring(1);
					sFileName = FileUtil.normalizeFileName(sFileName);
					if (_htProcessedAtFiles.get(sFileName) != null)
					{
						continue;
					}
					_htProcessedAtFiles.put(sFileName, sFileName);
					String sJavaSourceFileNames = null;
					try
					{
						sJavaSourceFileNames = FileUtil.readFile(sFileName);
					}
					catch (IOException pIOException)
					{
						_sErrorMessage = "File Read Error: " + sFileName;

						throw pIOException;
					}
					Vector vTheseJavaSourceFiles = Util.stringToLines(sJavaSourceFileNames);
					_measureFiles(vTheseJavaSourceFiles);
				}
			}
			else
			{
				try
				{
					_measureSource(sJavaFileName);
				}
				catch (Throwable pThrowable)
				{
					// hmm, do nothing? Use getLastError() or so to check for details.
				}
			}
		}
	}

	private void _measureSource(String sSourceFileName_) throws IOException, ParseException,
			TokenMgrError
	{
		// take user.dir property in account
		sSourceFileName_ = FileUtil.normalizeFileName(sSourceFileName_);

		DataInputStream disSource = null;

		// opens the file
		try
		{
			disSource = new DataInputStream(new FileInputStream(sSourceFileName_));
		}
		catch (IOException pIOException)
		{
			if (_sErrorMessage == null)
			{
				_sErrorMessage = "";
			}
			else
			{
				_sErrorMessage += "\n";
			}
			_sErrorMessage += "File not found: " + sSourceFileName_;

			throw pIOException;
		}

		String sTempErrorMessage = _sErrorMessage;
		try
		{
			// the same method but with a DataInputSream
			_measureSource(disSource);
		}
		catch (ParseException pParseException)
		{
			if (sTempErrorMessage == null)
			{
				sTempErrorMessage = "";
			}
			sTempErrorMessage += "ParseException in " + sSourceFileName_
					+ "\nLast useful checkpoint: \"" + _pJavaParser.getLastFunction() + "\"\n";
			sTempErrorMessage += pParseException.getMessage() + "\n";

			_sErrorMessage = sTempErrorMessage;

			throw pParseException;
		}
		catch (TokenMgrError pTokenMgrError)
		{
			if (sTempErrorMessage == null)
			{
				sTempErrorMessage = "";
			}
			sTempErrorMessage += "TokenMgrError in " + sSourceFileName_ + "\n"
					+ pTokenMgrError.getMessage() + "\n";
			_sErrorMessage = sTempErrorMessage;

			throw pTokenMgrError;
		}
	}

	private void _measureSource(DataInputStream disSource_) throws ParseException, TokenMgrError
	{
		try
		{
			// create a parser object
			_pJavaParser = new JavaParser(disSource_);
			// execute the parser
			_pJavaParser.compilationUnit();
			//System.out.println("Javancss._measureSource(DataInputStream).SUCCESSFULLY_PARSED");
			// add new data to global vector
			_vMethodComplexities.addAll(_pJavaParser.getMethodComplexities());
		}
		catch (ParseException pParseException)
		{
			if (_sErrorMessage == null)
			{
				_sErrorMessage = "";
			}
			_sErrorMessage += "ParseException in STDIN";
			if (_pJavaParser != null)
			{
				_sErrorMessage += "\nLast useful checkpoint: \"" + _pJavaParser.getLastFunction()
						+ "\"\n";
			}
			_sErrorMessage += pParseException.getMessage() + "\n";

			throw pParseException;
		}
		catch (TokenMgrError pTokenMgrError)
		{
			if (_sErrorMessage == null)
			{
				_sErrorMessage = "";
			}
			_sErrorMessage += "TokenMgrError in STDIN\n";
			_sErrorMessage += pTokenMgrError.getMessage() + "\n";

			throw pTokenMgrError;
		}
	}

	public Vector getMethodComplexities()
	{
		return (_vMethodComplexities);
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人99久久亚洲综合精品| 日韩精品一区二区三区视频播放| 久久久精品国产免大香伊| 六月丁香综合在线视频| 国产欧美日韩精品在线| 欧美亚洲尤物久久| 激情综合网av| 一区二区三区在线高清| 91麻豆精品国产91久久久| 久久精品国产网站| 亚洲国产中文字幕| 欧美韩日一区二区三区| 欧美疯狂做受xxxx富婆| 92国产精品观看| 风间由美一区二区三区在线观看 | 欧美午夜精品一区二区蜜桃| 日韩在线卡一卡二| 国产精品久久久久久久久快鸭| 欧美va亚洲va在线观看蝴蝶网| 91蜜桃在线观看| 成人av动漫在线| 成人免费视频app| 波多野结衣中文一区| 国产美女主播视频一区| 国产麻豆欧美日韩一区| 国模冰冰炮一区二区| 久久精品国产网站| 狠狠色狠狠色合久久伊人| 美女尤物国产一区| 六月丁香婷婷久久| 国产精品资源在线观看| 韩国精品在线观看| 91网站最新地址| 欧美在线免费视屏| 91精品国产高清一区二区三区蜜臀| 3d成人h动漫网站入口| 亚洲精品一区二区三区福利| 中文字幕精品在线不卡| 国产精品久久久久久久岛一牛影视| 国产精品麻豆视频| 图片区小说区国产精品视频| 精品伊人久久久久7777人| 国产成人免费视频| 欧美日韩午夜精品| 国产欧美一区二区精品性| 亚洲欧美成aⅴ人在线观看| 免费成人在线播放| 欧美影片第一页| 欧美精品三级日韩久久| 欧美三级三级三级爽爽爽| 国产欧美一区二区在线观看| 亚洲高清免费观看高清完整版在线观看| 日本中文字幕一区| 色av一区二区| 中文字幕中文在线不卡住| 精品一区二区三区蜜桃| 欧美日韩精品一二三区| 国产精品午夜免费| 国产凹凸在线观看一区二区| 欧美日韩你懂的| 亚洲一区免费视频| 91小视频在线| 欧美极品aⅴ影院| 国产高清无密码一区二区三区| 在线播放亚洲一区| 日本亚洲电影天堂| 91精品国产一区二区人妖| 亚洲动漫第一页| 精品视频色一区| 亚洲图片有声小说| 欧美一区二区三区视频免费| 首页亚洲欧美制服丝腿| 欧美精品日韩一本| 琪琪一区二区三区| 久久人人97超碰com| k8久久久一区二区三区| 国产女主播在线一区二区| 粉嫩av一区二区三区粉嫩| 日韩理论片在线| 91精品国产一区二区| 久久成人免费网| 中文字幕欧美激情| 欧美日韩精品一二三区| 久久国产剧场电影| 亚洲一区二区三区四区不卡| 欧美一区二区三区电影| 国产美女娇喘av呻吟久久| 最新中文字幕一区二区三区 | 亚洲成年人影院| 欧美电影免费观看高清完整版| 亚洲成人av福利| 日韩欧美一区二区久久婷婷| 高清国产一区二区三区| 久久精品国产一区二区三区免费看| 国产亚洲综合av| 欧美一区二区三区视频在线| 不卡影院免费观看| 蜜桃视频在线观看一区| 一区二区三区在线视频免费| 日韩欧美你懂的| 91精品国产aⅴ一区二区| 成人福利在线看| 精品中文字幕一区二区| 亚洲h在线观看| 亚洲综合免费观看高清完整版在线| 欧美精品一区二区三区在线 | 韩国欧美国产1区| 奇米影视一区二区三区| 蜜乳av一区二区| 免费欧美高清视频| 国产中文一区二区三区| 久久狠狠亚洲综合| 国产成人免费在线观看| 国产精品白丝jk白祙喷水网站| 国产在线不卡一区| 99精品久久99久久久久| 99re66热这里只有精品3直播 | 2020日本不卡一区二区视频| 精品精品欲导航| 国产性色一区二区| 夜夜嗨av一区二区三区| 性久久久久久久久久久久| 激情欧美一区二区| 懂色av一区二区三区免费看| 91在线云播放| 精品久久久久久综合日本欧美| 精品日产卡一卡二卡麻豆| 欧美激情中文不卡| 视频一区二区欧美| 亚洲成国产人片在线观看| 亚洲日本va在线观看| 日韩主播视频在线| 盗摄精品av一区二区三区| 7777精品伊人久久久大香线蕉完整版 | 精品视频999| 久久久电影一区二区三区| 亚洲五月六月丁香激情| 成人小视频在线| 久久亚洲私人国产精品va媚药| 中文字幕视频一区| 国内精品国产成人国产三级粉色| 欧美三片在线视频观看 | 亚洲国产日韩一区二区| 国产很黄免费观看久久| 精品久久久久久久人人人人传媒 | 免费看日韩a级影片| 欧美日韩精品欧美日韩精品| 亚洲欧美国产高清| 91免费观看国产| 亚洲国产精品精华液ab| 国产精选一区二区三区| 久久久精品黄色| 成人av电影在线播放| 国产精品伦理在线| 色综合久久久久久久| 亚洲免费三区一区二区| 欧美三级中文字| 麻豆国产欧美日韩综合精品二区 | 91蝌蚪porny九色| 亚洲同性gay激情无套| 欧美在线播放高清精品| 日韩高清在线不卡| 国产亚洲综合av| 91激情五月电影| 欧美aaaaaa午夜精品| 久久伊人中文字幕| 91丨九色porny丨蝌蚪| 一区二区三区高清| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲激情一二三区| 欧美日韩国产高清一区二区 | 制服丝袜中文字幕一区| 久久福利资源站| 国产精品久线在线观看| 欧美在线一二三四区| 蜜桃精品视频在线| 洋洋av久久久久久久一区| 精品乱码亚洲一区二区不卡| 国产精品综合av一区二区国产馆| 国产精品毛片高清在线完整版| 欧美一区二区三区的| 99久久国产综合精品麻豆 | 欧美aaaaaa午夜精品| 亚洲一区av在线| 中文字幕日韩一区| 欧美不卡在线视频| 91精品国产手机| 欧美日韩高清一区| 99久久99久久精品免费观看| 美女尤物国产一区| 奇米精品一区二区三区在线观看 | 综合自拍亚洲综合图不卡区| 精品国产一区二区三区不卡| 欧美一区二区三区系列电影| 色综合视频在线观看| a美女胸又www黄视频久久| 激情丁香综合五月| 韩日av一区二区| 国产精品一区二区黑丝| 国产精品123区|