/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser; import gw.internal.gosu.parser.statements.StatementList; import gw.lang.parser.IBlockClass; import gw.lang.parser.ICapturedSymbol; import gw.lang.parser.IDynamicFunctionSymbol; import gw.lang.parser.IDynamicPropertySymbol; import gw.lang.parser.ISymbolTable; import gw.lang.parser.expressions.IVarStatement; import gw.lang.reflect.IType; import gw.lang.reflect.gs.GosuClassTypeLoader; import gw.lang.reflect.gs.ICompilableType; import java.util.List; import java.util.Map; public interface ICompilableTypeInternal extends ICompilableType { ICompilableTypeInternal getEnclosingType(); Map<String, ICapturedSymbol> getCapturedSymbols(); IVarStatement getMemberField( String charSequence ); void addBlock(IBlockClass blockClass); int getBlockCount(); void addCapturedSymbol(ICapturedSymbol capturedSymbol); ICapturedSymbol getCapturedSymbol( String strName ); List<? extends IDynamicFunctionSymbol> getMemberFunctions( String names ); IDynamicPropertySymbol getMemberProperty( String strName ); IType getEnclosingNonBlockType(); DynamicPropertySymbol getStaticProperty( String strPropertyName); int getDepth(); void compileDeclarationsIfNeeded(); void compileDefinitionsIfNeeded( boolean bForce ); void compileHeaderIfNeeded(); void putClassMembers(GosuParser owner, ISymbolTable table, IGosuClassInternal gsContextClass, boolean bStatic); void putClassMembers(GosuClassTypeLoader loader, GosuParser owner, ISymbolTable table, IGosuClassInternal gsContextClass, boolean bStatic); void assignTypeUsesMap(GosuParser parser); boolean isCreateEditorParser(); int getAnonymousInnerClassCount(); String getInterfaceMethodsClassName(); List<StatementList> getAnnotationInitialization(); List<? extends IGosuAnnotation> getGosuAnnotations(); boolean shouldFullyCompileAnnotations(); List<? extends IVarStatement> getMemberFields(); List<IVarStatement> getStaticFields(); String getSource(); GosuClassParseInfo getParseInfo(); boolean hasAssertions(); }