001 002 aspect TypeAnalysis { 003 004 eq MethodDecl.type() = getType().decl().type(); 005 006 eq MethodUse.isValue() = true; 007 008 inh ClassDecl MethodDecl.enclosingClassDecl(); 009 eq ClassDecl.getBody().enclosingClassDecl() = this; 010 eq Program.getChild().enclosingClassDecl() = null; 011 syn boolean MethodDecl.hasEnclosingClass() = enclosingClassDecl() != null; 012 013 014 /* 015 syn MethodDecl MethodDecl.superMethod() { 016 if (hasEnclosingClass()) { 017 ClassDecl classDecl = enclosingClassDecl(); 018 if (classDecl.hasSuperclass()) { 019 ClassDecl superClass = classDecl.superClass(); 020 return superClass.remoteLookupMethod(getName(), getParamDeclList()); 021 } 022 } 023 return null; 024 } 025 */ 026 027 }