org.codehaus.groovy.control
Class LowerCaseClass

we use LowerCaseClass to limit the resolving the compiler does for vanilla names starting with a lower case letter. The idea that if we use a vanilla name with a lower case letter, that this is in most cases no class. If it is a class the class needs to be imported explicitly. The efffect is that in an expression like "def foo = bar" we do not have to use a loadClass call to check the name foo and bar for being classes. Instead we will ask the module for an alias for this name which is much faster.

Field Summary
 String className
           
 
Constructor Summary
LowerCaseClass(String name)
           
 
Method Summary
def ResolveVisitor(CompilationUnit cu)
          
void ambiguousClass(ClassNode type, ClassNode iType, String name)
          
Expression correctClassClassChain(PropertyExpression pe)
          
String getName()
          
SourceUnit getSourceUnit()
          
long getTimeStamp(Class cls)
          
boolean hasPackageName()
          
boolean isSourceNewer(URL source, Class cls)
          
String lookupClassName(PropertyExpression pe)
          
String replaceLastPoint(String name)
          
boolean resolve(ClassNode type)
          
boolean resolve(ClassNode type, boolean testModuleImports, boolean testDefaultImports, boolean testStaticInnerClasses)
          
boolean resolveAliasFromModule(ClassNode type)
          
boolean resolveFromClassCache(ClassNode type)
          
boolean resolveFromCompileUnit(ClassNode type)
          
boolean resolveFromDefaultImports(ClassNode type, boolean testDefaultImports)
          
boolean resolveFromModule(ClassNode type, boolean testModuleImports)
          
boolean resolveFromStaticInnerClasses(ClassNode type, boolean testStaticInnerClasses)
          
void resolveGenericsHeader(def types)
          
void resolveGenericsType(GenericsType genericsType)
          
void resolveGenericsTypes(def types)
          
void resolveOrFail(ClassNode type, String msg, ASTNode node)
          
void resolveOrFail(ClassNode type, ASTNode node, boolean prefereImports)
          
void resolveOrFail(ClassNode type, ASTNode node)
          
boolean resolveToClass(ClassNode type)
          
boolean resolveToInner(ClassNode type)
          
boolean resolveToScript(ClassNode type)
          
void setClass(ClassNode n, Class cls)
          
String setName(String name)
          
void startResolving(ClassNode node, SourceUnit source)
          
boolean testVanillaNameForClass(String name)
          
Expression transform(Expression exp)
          
Expression transformAnnotationConstantExpression(AnnotationConstantExpression ace)
          
Expression transformBinaryExpression(BinaryExpression be)
          
Expression transformClosureExpression(ClosureExpression ce)
          
Expression transformConstructorCallExpression(ConstructorCallExpression cce)
          
Expression transformDeclarationExpression(DeclarationExpression de)
          
Expression transformMethodCallExpression(MethodCallExpression mce)
          
Expression transformPropertyExpression(PropertyExpression pe)
          
Expression transformVariableExpression(VariableExpression ve)
          
void visitAnnotations(AnnotatedNode node)
          
void visitBlockStatement(BlockStatement block)
          
void visitCatchStatement(CatchStatement cs)
          
void visitClass(ClassNode node)
          
void visitConstructorOrMethod(MethodNode node, boolean isConstructor)
          
void visitField(FieldNode node)
          
void visitForLoop(ForStatement forLoop)
          
void visitProperty(PropertyNode node)
          
 

Constructor Detail

LowerCaseClass

public LowerCaseClass(String name)


Method Detail

ResolveVisitor

public def ResolveVisitor(CompilationUnit cu)


ambiguousClass

void ambiguousClass(ClassNode type, ClassNode iType, String name)


correctClassClassChain

Expression correctClassClassChain(PropertyExpression pe)


getName

public String getName()


getSourceUnit

SourceUnit getSourceUnit()


getTimeStamp

long getTimeStamp(Class cls)


hasPackageName

public boolean hasPackageName()


isSourceNewer

boolean isSourceNewer(URL source, Class cls)


lookupClassName

String lookupClassName(PropertyExpression pe)


replaceLastPoint

String replaceLastPoint(String name)


resolve

boolean resolve(ClassNode type)


resolve

boolean resolve(ClassNode type, boolean testModuleImports, boolean testDefaultImports, boolean testStaticInnerClasses)


resolveAliasFromModule

boolean resolveAliasFromModule(ClassNode type)


resolveFromClassCache

boolean resolveFromClassCache(ClassNode type)


resolveFromCompileUnit

boolean resolveFromCompileUnit(ClassNode type)


resolveFromDefaultImports

boolean resolveFromDefaultImports(ClassNode type, boolean testDefaultImports)


resolveFromModule

boolean resolveFromModule(ClassNode type, boolean testModuleImports)


resolveFromStaticInnerClasses

boolean resolveFromStaticInnerClasses(ClassNode type, boolean testStaticInnerClasses)


resolveGenericsHeader

void resolveGenericsHeader(def types)


resolveGenericsType

void resolveGenericsType(GenericsType genericsType)


resolveGenericsTypes

void resolveGenericsTypes(def types)


resolveOrFail

void resolveOrFail(ClassNode type, String msg, ASTNode node)


resolveOrFail

void resolveOrFail(ClassNode type, ASTNode node, boolean prefereImports)


resolveOrFail

void resolveOrFail(ClassNode type, ASTNode node)


resolveToClass

boolean resolveToClass(ClassNode type)


resolveToInner

boolean resolveToInner(ClassNode type)


resolveToScript

boolean resolveToScript(ClassNode type)


setClass

void setClass(ClassNode n, Class cls)


setName

public String setName(String name)


startResolving

public void startResolving(ClassNode node, SourceUnit source)


testVanillaNameForClass

boolean testVanillaNameForClass(String name)


transform

public Expression transform(Expression exp)


transformAnnotationConstantExpression

Expression transformAnnotationConstantExpression(AnnotationConstantExpression ace)


transformBinaryExpression

Expression transformBinaryExpression(BinaryExpression be)


transformClosureExpression

Expression transformClosureExpression(ClosureExpression ce)


transformConstructorCallExpression

Expression transformConstructorCallExpression(ConstructorCallExpression cce)


transformDeclarationExpression

Expression transformDeclarationExpression(DeclarationExpression de)


transformMethodCallExpression

Expression transformMethodCallExpression(MethodCallExpression mce)


transformPropertyExpression

Expression transformPropertyExpression(PropertyExpression pe)


transformVariableExpression

Expression transformVariableExpression(VariableExpression ve)


visitAnnotations

public void visitAnnotations(AnnotatedNode node)


visitBlockStatement

public void visitBlockStatement(BlockStatement block)


visitCatchStatement

public void visitCatchStatement(CatchStatement cs)


visitClass

public void visitClass(ClassNode node)


visitConstructorOrMethod

void visitConstructorOrMethod(MethodNode node, boolean isConstructor)


visitField

public void visitField(FieldNode node)


visitForLoop

public void visitForLoop(ForStatement forLoop)


visitProperty

public void visitProperty(PropertyNode node)