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


Java AstNode.getLength方法代码示例

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


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

示例1: processIfThenElse

import org.mozilla.javascript.ast.AstNode; //导入方法依赖的package包/类
/**
 * Extract variables from if/else node(s)
 */
private void processIfThenElse(Node child, CodeBlock block,
		Set<Completion> set, String entered, int offset) {
	IfStatement ifStatement = (IfStatement) child;
	if (canProcessNode(ifStatement)) {
		offset = ifStatement.getAbsolutePosition()
				+ ifStatement.getLength();
		addCodeBlock(ifStatement.getThenPart(), set, entered, block, offset);
		AstNode elseNode = ifStatement.getElsePart();
		if (elseNode != null) {
			int start = elseNode.getAbsolutePosition();
			CodeBlock childBlock = block.addChildCodeBlock(start);
			offset = start + elseNode.getLength();
			iterateNode(elseNode, set, entered, childBlock, offset);
			childBlock.setEndOffset(offset);
		}
	}

}
 
开发者ID:bobbylight,项目名称:RSTALanguageSupport,代码行数:22,代码来源:JavaScriptAstParser.java

示例2: getLength

import org.mozilla.javascript.ast.AstNode; //导入方法依赖的package包/类
/**
 * Returns the length in the document of this source element.
 *
 * @return The length of this element.
 * @see #getOffset()
 */
@SuppressWarnings("unchecked")
public int getLength() {
	int length = 0;
	List<AstNode> nodes = (List<AstNode>)getUserObject();
	for (AstNode node : nodes) {
		length += node.getLength();
	}
	length += nodes.size() - 1;
	return length;
}
 
开发者ID:bobbylight,项目名称:RSTALanguageSupport,代码行数:17,代码来源:JavaScriptTreeNode.java

示例3: getNodeEnd

import org.mozilla.javascript.ast.AstNode; //导入方法依赖的package包/类
private int getNodeEnd(AstNode n) {
    return n.getPosition() + n.getLength();
}
 
开发者ID:MikaGuraN,项目名称:HL4A,代码行数:4,代码来源:Parser.java

示例4: nodeEnd

import org.mozilla.javascript.ast.AstNode; //导入方法依赖的package包/类
private int nodeEnd(AstNode node) {
    return node.getPosition() + node.getLength();
}
 
开发者ID:MikaGuraN,项目名称:HL4A,代码行数:4,代码来源:Parser.java

示例5: processTryCatchNode

import org.mozilla.javascript.ast.AstNode; //导入方法依赖的package包/类
/**
 * Extract variables from try/catch node(s)
 */
private void processTryCatchNode(Node child, CodeBlock block,
		Set<Completion> set, String entered, int offset) {
	TryStatement tryStatement = (TryStatement) child;
	if (canProcessNode(tryStatement)) {
		offset = tryStatement.getTryBlock().getAbsolutePosition()
				+ tryStatement.getTryBlock().getLength();
		addCodeBlock(tryStatement.getTryBlock(), set, entered, block,
				offset);
		// iterate catch
		for (int i = 0; i < tryStatement.getCatchClauses().size(); i++) {

			CatchClause clause = tryStatement.getCatchClauses().get(i);
			if (canProcessNode(clause)) {
				offset = clause.getAbsolutePosition() + clause.getLength();
				CodeBlock catchBlock = block.getParent().addChildCodeBlock(
						clause.getAbsolutePosition());
				catchBlock.setEndOffset(offset);
				AstNode target = clause.getVarName();

				JavaScriptVariableDeclaration dec = extractVariableFromNode(
						target, catchBlock, offset);
				if (dec != null) {
					dec.setTypeDeclaration(clause);
				}

				addCodeBlock(clause.getBody(), set, entered, catchBlock,
						offset);
			}
		}
		// now sort out finally block
		if (tryStatement.getFinallyBlock() != null) {
			AstNode finallyNode = tryStatement.getFinallyBlock();
			if (canProcessNode(finallyNode)) {
				offset = finallyNode.getAbsolutePosition()
						+ finallyNode.getLength();
				CodeBlock finallyBlock = block.getParent()
						.addChildCodeBlock(
								tryStatement.getFinallyBlock()
										.getAbsolutePosition());
				addCodeBlock(finallyNode, set, entered, finallyBlock,
						offset);
				finallyBlock.setEndOffset(offset);
			}
		}
	}
}
 
开发者ID:bobbylight,项目名称:RSTALanguageSupport,代码行数:50,代码来源:JavaScriptAstParser.java

示例6: canProcessNode

import org.mozilla.javascript.ast.AstNode; //导入方法依赖的package包/类
private boolean canProcessNode(AstNode node) {
	int start = node.getAbsolutePosition();
	int offset = start + node.getLength();
	return dot >= start && dot < offset;
}
 
开发者ID:bobbylight,项目名称:RSTALanguageSupport,代码行数:6,代码来源:JavaScriptAstParser.java

示例7: containsOffs

import org.mozilla.javascript.ast.AstNode; //导入方法依赖的package包/类
private boolean containsOffs(AstNode node) {
	int start = node.getAbsolutePosition();
	return start<=offs && start+node.getLength()>offs;
}
 
开发者ID:bobbylight,项目名称:RSTALanguageSupport,代码行数:5,代码来源:JavaScriptLanguageSupport.java


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