@Override public IBinaryAnnotation[] getAnnotationsAtCursor(int currentTypeId, boolean mayApplyArrayContentsDefaultNullness) { if (this.pos != -1 && this.pos < this.source.length-1) { switch (this.source[this.pos]) { case NULLABLE: return new IBinaryAnnotation[]{ ExternalAnnotationProvider.this.NULLABLE_ANNOTATION }; case NONNULL: return new IBinaryAnnotation[]{ ExternalAnnotationProvider.this.NONNULL_ANNOTATION }; } } return super.getAnnotationsAtCursor(currentTypeId, mayApplyArrayContentsDefaultNullness); } }
@Override public ITypeAnnotationWalker toTypeArgument(int rank) { if (rank == 0) { int start = CharOperation.indexOf('<', this.source, this.pos) + 1; this.prevTypeArgStart = start; return new MethodAnnotationWalker(this.source, start, this.environment); } int next = this.prevTypeArgStart; switch (this.source[next]) { case '*': break; case '-': case '+': next++; //$FALL-THROUGH$ default: next = wrapperWithStart(next).computeEnd(); } next++; this.prevTypeArgStart = next; return new MethodAnnotationWalker(this.source, next, this.environment); }
@Override public ITypeAnnotationWalker toTypeArgument(int rank) { if (rank == 0) { int start = CharOperation.indexOf('<', this.source, this.pos) + 1; this.prevTypeArgStart = start; return new MethodAnnotationWalker(this.source, start, this.environment); } int next = this.prevTypeArgStart; switch (this.source[next]) { case '*': next = skipNullAnnotation(next+1); break; case '-': case '+': next = skipNullAnnotation(next+1); //$FALL-THROUGH$ default: next = wrapperWithStart(next).computeEnd(); next++; } this.prevTypeArgStart = next; return new MethodAnnotationWalker(this.source, next, this.environment); }
@Override public ITypeAnnotationWalker toTypeArgument(int rank) { if (rank == 0) { int start = CharOperation.indexOf('<', this.source, this.pos) + 1; this.prevTypeArgStart = start; return new MethodAnnotationWalker(this.source, start, this.environment); } int next = this.prevTypeArgStart; switch (this.source[next]) { case '*': break; case '-': case '+': next++; //$FALL-THROUGH$ default: next = wrapperWithStart(next).computeEnd(); } next++; this.prevTypeArgStart = next; return new MethodAnnotationWalker(this.source, next, this.environment); }
@Override public ITypeAnnotationWalker toTypeArgument(int rank) { if (rank == 0) { int start = CharOperation.indexOf('<', this.source, this.pos) + 1; this.prevTypeArgStart = start; return new MethodAnnotationWalker(this.source, start, this.environment); } int next = this.prevTypeArgStart; switch (this.source[next]) { case '*': break; case '-': case '+': next++; //$FALL-THROUGH$ default: next = wrapperWithStart(next).computeEnd(); } next++; this.prevTypeArgStart = next; return new MethodAnnotationWalker(this.source, next, this.environment); }
@Override public ITypeAnnotationWalker toTypeArgument(int rank) { if (rank == 0) { int start = CharOperation.indexOf('<', this.source, this.pos) + 1; this.prevTypeArgStart = start; return new MethodAnnotationWalker(this.source, start, this.environment); } int next = this.prevTypeArgStart; switch (this.source[next]) { case '*': next = skipNullAnnotation(next+1); break; case '-': case '+': next = skipNullAnnotation(next+1); //$FALL-THROUGH$ default: next = wrapperWithStart(next).computeEnd(); next++; } this.prevTypeArgStart = next; return new MethodAnnotationWalker(this.source, next, this.environment); }
@Override public IBinaryAnnotation[] getAnnotationsAtCursor(int currentTypeId) { if (this.pos != -1 && this.pos < this.source.length-1) { switch (this.source[this.pos]) { case NULLABLE: return new IBinaryAnnotation[]{ ExternalAnnotationProvider.this.NULLABLE_ANNOTATION }; case NONNULL: return new IBinaryAnnotation[]{ ExternalAnnotationProvider.this.NONNULL_ANNOTATION }; } } return super.getAnnotationsAtCursor(currentTypeId); } }
@Override public IBinaryAnnotation[] getAnnotationsAtCursor(int currentTypeId, boolean mayApplyArrayContentsDefaultNullness) { if (this.pos != -1 && this.pos < this.source.length-1) { switch (this.source[this.pos]) { case NULLABLE: return new IBinaryAnnotation[]{ ExternalAnnotationProvider.this.NULLABLE_ANNOTATION }; case NONNULL: return new IBinaryAnnotation[]{ ExternalAnnotationProvider.this.NONNULL_ANNOTATION }; } } return super.getAnnotationsAtCursor(currentTypeId, mayApplyArrayContentsDefaultNullness); } }
@Override public IBinaryAnnotation[] getAnnotationsAtCursor(int currentTypeId) { if (this.pos != -1 && this.pos < this.source.length-1) { switch (this.source[this.pos]) { case NULLABLE: return new IBinaryAnnotation[]{ ExternalAnnotationProvider.this.NULLABLE_ANNOTATION }; case NONNULL: return new IBinaryAnnotation[]{ ExternalAnnotationProvider.this.NONNULL_ANNOTATION }; } } return super.getAnnotationsAtCursor(currentTypeId); } }
@Override public IBinaryAnnotation[] getAnnotationsAtCursor(int currentTypeId) { if (this.pos != -1 && this.pos < this.source.length-1) { switch (this.source[this.pos]) { case NULLABLE: return new IBinaryAnnotation[]{ ExternalAnnotationProvider.this.NULLABLE_ANNOTATION }; case NONNULL: return new IBinaryAnnotation[]{ ExternalAnnotationProvider.this.NONNULL_ANNOTATION }; } } return super.getAnnotationsAtCursor(currentTypeId); } }
@Override public ITypeAnnotationWalker toNextArrayDimension() { if (this.source[this.pos] == '[') { int newPos = skipNullAnnotation(this.pos+1); return new MethodAnnotationWalker(this.source, newPos, this.environment); } return ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER; }
@Override public ITypeAnnotationWalker toWildcardBound() { switch (this.source[this.pos]) { case '-': case '+': int newPos = skipNullAnnotation(this.pos+1); return new MethodAnnotationWalker(this.source, newPos, this.environment); default: // includes unbounded '*' return ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER; } }
@Override public ITypeAnnotationWalker toNextArrayDimension() { if (this.source[this.pos] == '[') { int newPos = skipNullAnnotation(this.pos+1); return new MethodAnnotationWalker(this.source, newPos, this.environment); } return ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER; }
@Override public ITypeAnnotationWalker toWildcardBound() { switch (this.source[this.pos]) { case '-': case '+': int newPos = skipNullAnnotation(this.pos+1); return new MethodAnnotationWalker(this.source, newPos, this.environment); default: // includes unbounded '*' return ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER; } }