protected void consumePrimaryNoNewArrayNameThis() { // PrimaryNoNewArray ::= Name '.' 'this' // handle type arguments pushOnGenericsIdentifiersLengthStack(this.identifierLengthStack[this.identifierLengthPtr]); pushOnGenericsLengthStack(0); // handle type arguments TypeReference typeReference = getTypeReference(0); pushOnExpressionStack( new QualifiedThisReference( typeReference, this.intStack[this.intPtr--], this.endPosition)); } protected void consumePrimaryNoNewArrayPrimitiveArrayType() {
public TypeBinding resolveType(BlockScope scope) { if ((this.bits & ParenthesizedMASK) != 0) { scope.problemReporter().invalidParenthesizedExpression(this); return null; } super.resolveType(scope); if (this.currentCompatibleType == null) return null; // error case if (this.currentCompatibleType.id == T_JavaLangObject) { scope.problemReporter().cannotUseSuperInJavaLangObject(this); return null; } return this.resolvedType = this.currentCompatibleType.superclass(); }
@Override public boolean visit(QualifiedThisReference qualifiedThisRef, BlockScope scope) { context.enter(factory.Code().createThisAccess(references.getTypeReference(qualifiedThisRef.qualification.resolvedType), qualifiedThisRef.isImplicitThis()), qualifiedThisRef); return true; }
int depth = findCompatibleEnclosing(scope.referenceType().binding, type, scope); this.bits &= ~DepthMASK; // flush previous depth if any this.bits |= (depth & 0xFF) << DepthSHIFT; // encoded depth into 8 bits checkAccess(scope, null);
return super.findCompatibleEnclosing(enclosingType, type);
checkAccess(scope.methodScope());
int depth = findCompatibleEnclosing(scope.referenceType().binding, type); this.bits &= ~DepthMASK; // flush previous depth if any this.bits |= (depth & 0xFF) << DepthSHIFT; // encoded depth into 8 bits checkAccess(scope, null);
return super.findCompatibleEnclosing(enclosingType, type);
checkAccess(scope.methodScope());
protected void consumePrimaryNoNewArrayNameThis() { // PrimaryNoNewArray ::= Name '.' 'this' // handle type arguments pushOnGenericsIdentifiersLengthStack(this.identifierLengthStack[this.identifierLengthPtr]); pushOnGenericsLengthStack(0); // handle type arguments TypeReference typeReference = getTypeReference(0); pushOnExpressionStack( new QualifiedThisReference( typeReference, this.intStack[this.intPtr--], this.endPosition)); } protected void consumePrimaryNoNewArrayPrimitiveArrayType() {
int depth = findCompatibleEnclosing(scope.referenceType().binding, type, scope); this.bits &= ~DepthMASK; // flush previous depth if any this.bits |= (depth & 0xFF) << DepthSHIFT; // encoded depth into 8 bits checkAccess(scope, null);
public TypeBinding resolveType(BlockScope scope) { if ((this.bits & ParenthesizedMASK) != 0) { scope.problemReporter().invalidParenthesizedExpression(this); return null; } super.resolveType(scope); if (this.currentCompatibleType == null) return null; // error case if (this.currentCompatibleType.id == T_JavaLangObject) { scope.problemReporter().cannotUseSuperInJavaLangObject(this); return null; } return this.resolvedType = this.currentCompatibleType.superclass(); }
return super.findCompatibleEnclosing(enclosingType, type);
checkAccess(scope.methodScope());
@Override public boolean visit(QualifiedThisReference qualifiedThisReference, BlockScope scope) { final CtTypeReference<Object> typeRefOfThis = references.getTypeReference(qualifiedThisReference.qualification.resolvedType); CtThisAccess<Object> thisAccess = factory.Core().createThisAccess(); thisAccess.setImplicit(qualifiedThisReference.isImplicitThis()); thisAccess.setType(typeRefOfThis); CtTypeAccess<Object> typeAccess = factory.Core().createTypeAccess(); typeAccess.setType(typeRefOfThis); thisAccess.setTarget(typeAccess); context.enter(thisAccess, qualifiedThisReference); return true; }
protected void consumePrimaryNoNewArrayNameThis() { // PrimaryNoNewArray ::= Name '.' 'this' // handle type arguments pushOnGenericsIdentifiersLengthStack(this.identifierLengthStack[this.identifierLengthPtr]); pushOnGenericsLengthStack(0); // handle type arguments TypeReference typeReference = getTypeReference(0); pushOnExpressionStack( new QualifiedThisReference( typeReference, this.intStack[this.intPtr--], this.endPosition)); } protected void consumePrimaryNoNewArrayPrimitiveArrayType() {
int depth = findCompatibleEnclosing(scope.referenceType().binding, type, scope); this.bits &= ~DepthMASK; // flush previous depth if any this.bits |= (depth & 0xFF) << DepthSHIFT; // encoded depth into 8 bits checkAccess(scope, null);
public TypeBinding resolveType(BlockScope scope) { if ((this.bits & ParenthesizedMASK) != 0) { scope.problemReporter().invalidParenthesizedExpression(this); return null; } super.resolveType(scope); if (this.currentCompatibleType == null) return null; // error case if (this.currentCompatibleType.id == T_JavaLangObject) { scope.problemReporter().cannotUseSuperInJavaLangObject(this); return null; } return this.resolvedType = this.currentCompatibleType.superclass(); }
return super.findCompatibleEnclosing(enclosingType, type);
@Override public boolean visitThis(lombok.ast.This node) { if (node.astQualifier() == null) { return set(node, new ThisReference(start(node), end(node))); } return set(node, new QualifiedThisReference((TypeReference) toTree(node.astQualifier()), start(node), end(node))); }