当前位置: 首页>>代码示例>>Java>>正文


Java IASTExpression.accept方法代码示例

本文整理汇总了Java中org.eclipse.cdt.core.dom.ast.IASTExpression.accept方法的典型用法代码示例。如果您正苦于以下问题:Java IASTExpression.accept方法的具体用法?Java IASTExpression.accept怎么用?Java IASTExpression.accept使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.eclipse.cdt.core.dom.ast.IASTExpression的用法示例。


在下文中一共展示了IASTExpression.accept方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: parseExpression

import org.eclipse.cdt.core.dom.ast.IASTExpression; //导入方法依赖的package包/类
public IValue parseExpression(IString expression, IEvaluatorContext ctx) throws CoreException, IOException {
	setIEvaluatorContext(ctx);
	if (!expression.getValue().endsWith(";"))
		expression.concat(vf.string(";"));
	String expr = "void main() {\n\t" + expression.getValue() + "\n}";
	FileContent fc = FileContent.create("", expr.toCharArray());
	Map<String, String> macroDefinitions = new HashMap<String, String>();
	String[] includeSearchPaths = new String[0];
	IScannerInfo si = new ScannerInfo(macroDefinitions, includeSearchPaths);
	IncludeFileContentProvider ifcp = IncludeFileContentProvider.getEmptyFilesProvider();
	IIndex idx = null;
	int options = ILanguage.OPTION_PARSE_INACTIVE_CODE;
	IParserLogService log = new DefaultLogService();
	IASTTranslationUnit tu = GPPLanguage.getDefault().getASTTranslationUnit(fc, si, ifcp, idx, options, log);

	IASTFunctionDefinition main = (IASTFunctionDefinition) tu.getDeclarations()[0];
	IASTCompoundStatement body = (IASTCompoundStatement) main.getBody();
	IASTExpression ex = ((IASTExpressionStatement) body.getStatements()[0]).getExpression();
	ex.accept(this);
	return stack.pop();
}
 
开发者ID:cwi-swat,项目名称:clair,代码行数:22,代码来源:Parser.java

示例2: visit

import org.eclipse.cdt.core.dom.ast.IASTExpression; //导入方法依赖的package包/类
@Override
public int visit(IASTArrayModifier arrayModifier) {
	if (arrayModifier instanceof ICASTArrayModifier)
		throw new RuntimeException("NYI");
	ISourceLocation loc = getSourceLocation(arrayModifier);
	IList attributes = getAttributes(arrayModifier);

	IASTExpression constantExpression = arrayModifier.getConstantExpression();
	if (constantExpression == null)
		stack.push(builder.Expression_arrayModifier(attributes, loc));
	else {
		constantExpression.accept(this);
		stack.push(builder.Expression_arrayModifier(attributes, stack.pop(), loc));
	}
	return PROCESS_ABORT;
}
 
开发者ID:cwi-swat,项目名称:clair,代码行数:17,代码来源:Parser.java


注:本文中的org.eclipse.cdt.core.dom.ast.IASTExpression.accept方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。