Java Code Examples for org.eclipse.jdt.internal.compiler.ast.ASTNode#OnDemand
The following examples show how to use
org.eclipse.jdt.internal.compiler.ast.ASTNode#OnDemand .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SourceElementNotifier.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 6 votes |
protected void notifySourceElementRequestor( ImportReference importReference, boolean isPackage) { if (isPackage) { this.requestor.acceptPackage(importReference); } else { final boolean onDemand = (importReference.bits & ASTNode.OnDemand) != 0; this.requestor.acceptImport( importReference.declarationSourceStart, importReference.declarationSourceEnd, importReference.sourceStart, onDemand ? importReference.trailingStarPosition : importReference.sourceEnd, importReference.tokens, onDemand, importReference.modifiers); } }
Example 2
Source File: EclipseImportList.java From EasyMPermission with MIT License | 5 votes |
@Override public String getFullyQualifiedNameForSimpleName(String unqualified) { if (imports != null) { outer: for (ImportReference imp : imports) { if ((imp.bits & ASTNode.OnDemand) != 0) continue; char[][] tokens = imp.tokens; char[] token = tokens.length == 0 ? new char[0] : tokens[tokens.length - 1]; int len = token.length; if (len != unqualified.length()) continue; for (int i = 0; i < len; i++) if (token[i] != unqualified.charAt(i)) continue outer; return LombokInternalAliasing.processAliases(toQualifiedName(tokens)); } } return null; }
Example 3
Source File: EclipseImportList.java From EasyMPermission with MIT License | 5 votes |
@Override public Collection<String> applyNameToStarImports(String startsWith, String name) { List<String> out = Collections.emptyList(); if (pkg != null && pkg.tokens != null && pkg.tokens.length != 0) { char[] first = pkg.tokens[0]; int len = first.length; boolean match = true; if (startsWith.length() == len) { for (int i = 0; match && i < len; i++) { if (startsWith.charAt(i) != first[i]) match = false; } if (match) out.add(toQualifiedName(pkg.tokens) + "." + name); } } if (imports != null) { outer: for (ImportReference imp : imports) { if ((imp.bits & ASTNode.OnDemand) == 0) continue; if (imp.isStatic()) continue; if (imp.tokens == null || imp.tokens.length == 0) continue; char[] firstToken = imp.tokens[0]; if (firstToken.length != startsWith.length()) continue; for (int i = 0; i < firstToken.length; i++) if (startsWith.charAt(i) != firstToken[i]) continue outer; String fqn = toQualifiedName(imp.tokens) + "." + name; if (out.isEmpty()) out = Collections.singletonList(fqn); else if (out.size() == 1) { out = new ArrayList<String>(out); out.add(fqn); } else { out.add(fqn); } } } return out; }
Example 4
Source File: IndexingParser.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 5 votes |
protected ImportReference newImportReference(char[][] tokens, long[] sourcePositions, boolean onDemand, int mod) { ImportReference ref = this.importReference; ref.tokens = tokens; ref.sourcePositions = sourcePositions; if (onDemand) { ref.bits |= ASTNode.OnDemand; } ref.sourceEnd = (int) (sourcePositions[sourcePositions.length-1] & 0x00000000FFFFFFFF); ref.sourceStart = (int) (sourcePositions[0] >>> 32); ref.modifiers = this.modifiers; return ref; }
Example 5
Source File: SelectionParser.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
protected void consumeStaticImportOnDemandDeclarationName() { // TypeImportOnDemandDeclarationName ::= 'import' 'static' Name '.' '*' /* push an ImportRef build from the last name stored in the identifier stack. */ int index; /* no need to take action if not inside assist identifiers */ if ((index = indexOfAssistIdentifier()) < 0) { super.consumeStaticImportOnDemandDeclarationName(); return; } /* retrieve identifiers subset and whole positions, the assist node positions should include the entire replaced source. */ int length = this.identifierLengthStack[this.identifierLengthPtr]; char[][] subset = identifierSubSet(index+1); // include the assistIdentifier this.identifierLengthPtr--; this.identifierPtr -= length; long[] positions = new long[length]; System.arraycopy( this.identifierPositionStack, this.identifierPtr + 1, positions, 0, length); /* build specific assist node on import statement */ ImportReference reference = createAssistImportReference(subset, positions, ClassFileConstants.AccStatic); reference.bits |= ASTNode.OnDemand; // star end position reference.trailingStarPosition = this.intStack[this.intPtr--]; this.assistNode = reference; this.lastCheckPoint = reference.sourceEnd + 1; pushOnAstStack(reference); if (this.currentToken == TokenNameSEMICOLON){ reference.declarationSourceEnd = this.scanner.currentPosition - 1; } else { reference.declarationSourceEnd = (int) positions[length-1]; } //endPosition is just before the ; reference.declarationSourceStart = this.intStack[this.intPtr--]; // flush annotations defined prior to import statements reference.declarationSourceEnd = flushCommentsDefinedPriorTo(reference.declarationSourceEnd); // recovery if (this.currentElement != null){ this.lastCheckPoint = reference.declarationSourceEnd+1; this.currentElement = this.currentElement.add(reference, 0); this.lastIgnoredToken = -1; this.restartRecovery = true; // used to avoid branching back into the regular automaton } }
Example 6
Source File: SelectionParser.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
protected void consumeTypeImportOnDemandDeclarationName() { // TypeImportOnDemandDeclarationName ::= 'import' Name '.' '*' /* push an ImportRef build from the last name stored in the identifier stack. */ int index; /* no need to take action if not inside assist identifiers */ if ((index = indexOfAssistIdentifier()) < 0) { super.consumeTypeImportOnDemandDeclarationName(); return; } /* retrieve identifiers subset and whole positions, the assist node positions should include the entire replaced source. */ int length = this.identifierLengthStack[this.identifierLengthPtr]; char[][] subset = identifierSubSet(index+1); // include the assistIdentifier this.identifierLengthPtr--; this.identifierPtr -= length; long[] positions = new long[length]; System.arraycopy( this.identifierPositionStack, this.identifierPtr + 1, positions, 0, length); /* build specific assist node on import statement */ ImportReference reference = createAssistImportReference(subset, positions, ClassFileConstants.AccDefault); reference.bits |= ASTNode.OnDemand; // star end position reference.trailingStarPosition = this.intStack[this.intPtr--]; this.assistNode = reference; this.lastCheckPoint = reference.sourceEnd + 1; pushOnAstStack(reference); if (this.currentToken == TokenNameSEMICOLON){ reference.declarationSourceEnd = this.scanner.currentPosition - 1; } else { reference.declarationSourceEnd = (int) positions[length-1]; } //endPosition is just before the ; reference.declarationSourceStart = this.intStack[this.intPtr--]; // flush comments defined prior to import statements reference.declarationSourceEnd = flushCommentsDefinedPriorTo(reference.declarationSourceEnd); // recovery if (this.currentElement != null){ this.lastCheckPoint = reference.declarationSourceEnd+1; this.currentElement = this.currentElement.add(reference, 0); this.lastIgnoredToken = -1; this.restartRecovery = true; // used to avoid branching back into the regular automaton } }
Example 7
Source File: AssistParser.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
protected void consumeStaticImportOnDemandDeclarationName() { // TypeImportOnDemandDeclarationName ::= 'import' 'static' Name '.' '*' /* push an ImportRef build from the last name stored in the identifier stack. */ int index; /* no need to take action if not inside assist identifiers */ if ((index = indexOfAssistIdentifier()) < 0) { super.consumeStaticImportOnDemandDeclarationName(); return; } /* retrieve identifiers subset and whole positions, the assist node positions should include the entire replaced source. */ int length = this.identifierLengthStack[this.identifierLengthPtr]; char[][] subset = identifierSubSet(index+1); // include the assistIdentifier this.identifierLengthPtr--; this.identifierPtr -= length; long[] positions = new long[length]; System.arraycopy( this.identifierPositionStack, this.identifierPtr + 1, positions, 0, length); /* build specific assist node on import statement */ ImportReference reference = createAssistImportReference(subset, positions, ClassFileConstants.AccStatic); reference.bits |= ASTNode.OnDemand; // star end position reference.trailingStarPosition = this.intStack[this.intPtr--]; this.assistNode = reference; this.lastCheckPoint = reference.sourceEnd + 1; pushOnAstStack(reference); if (this.currentToken == TokenNameSEMICOLON){ reference.declarationSourceEnd = this.scanner.currentPosition - 1; } else { reference.declarationSourceEnd = (int) positions[length-1]; } //endPosition is just before the ; reference.declarationSourceStart = this.intStack[this.intPtr--]; // flush annotations defined prior to import statements reference.declarationSourceEnd = flushCommentsDefinedPriorTo(reference.declarationSourceEnd); // recovery if (this.currentElement != null){ this.lastCheckPoint = reference.declarationSourceEnd+1; this.currentElement = this.currentElement.add(reference, 0); this.lastIgnoredToken = -1; this.restartRecovery = true; // used to avoid branching back into the regular automaton } }
Example 8
Source File: AssistParser.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
protected void consumeTypeImportOnDemandDeclarationName() { // TypeImportOnDemandDeclarationName ::= 'import' Name '.' '*' /* push an ImportRef build from the last name stored in the identifier stack. */ int index; /* no need to take action if not inside assist identifiers */ if ((index = indexOfAssistIdentifier()) < 0) { super.consumeTypeImportOnDemandDeclarationName(); return; } /* retrieve identifiers subset and whole positions, the assist node positions should include the entire replaced source. */ int length = this.identifierLengthStack[this.identifierLengthPtr]; char[][] subset = identifierSubSet(index+1); // include the assistIdentifier this.identifierLengthPtr--; this.identifierPtr -= length; long[] positions = new long[length]; System.arraycopy( this.identifierPositionStack, this.identifierPtr + 1, positions, 0, length); /* build specific assist node on import statement */ ImportReference reference = createAssistImportReference(subset, positions, ClassFileConstants.AccDefault); reference.bits |= ASTNode.OnDemand; // star end position reference.trailingStarPosition = this.intStack[this.intPtr--]; this.assistNode = reference; this.lastCheckPoint = reference.sourceEnd + 1; pushOnAstStack(reference); if (this.currentToken == TokenNameSEMICOLON){ reference.declarationSourceEnd = this.scanner.currentPosition - 1; } else { reference.declarationSourceEnd = (int) positions[length-1]; } //endPosition is just before the ; reference.declarationSourceStart = this.intStack[this.intPtr--]; // flush comments defined prior to import statements reference.declarationSourceEnd = flushCommentsDefinedPriorTo(reference.declarationSourceEnd); // recovery if (this.currentElement != null){ this.lastCheckPoint = reference.declarationSourceEnd+1; this.currentElement = this.currentElement.add(reference, 0); this.lastIgnoredToken = -1; this.restartRecovery = true; // used to avoid branching back into the regular automaton } }