## 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)