Package gw.internal.gosu.ir.transform
Class GosuClassTransformationContext
- java.lang.Object
-
- gw.internal.gosu.ir.transform.TransformationContextBase
-
- gw.internal.gosu.ir.transform.GosuClassTransformationContext
-
- All Implemented Interfaces:
TopLevelTransformationContext
public class GosuClassTransformationContext extends TransformationContextBase
-
-
Constructor Summary
Constructors Constructor Description GosuClassTransformationContext(GosuClassTransformer classTransformer, IGosuClassInternal gsClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAssertionsStaticField()
boolean
currentlyCompilingBlock()
IRType
getIRTypeForCurrentClass()
String
getOuterThisFieldName()
String
getOuterThisParamName()
String
getSourceFileRef()
String
getSourceLine(int lineNumber)
void
initCapturedSymbolFields(List<IRStatement> statements)
void
initializeInstanceFields(List<IRStatement> statements)
void
initTypeVarFields(List<IRStatement> statements)
boolean
isExternalSymbol(String name)
boolean
isFragmentEvaluation()
boolean
isIllegalProtectedCall(IType declaringClass, IRType root, IRelativeTypeInfo.Accessibility accessibility)
void
maybeAssignOuterRef(List<IRStatement> statements)
void
maybePushSupersEnclosingThisRef(List<IRExpression> arguments)
void
pushEnumNameAndOrdinal(IType type, List<IRExpression> args)
boolean
shouldUseReflection(IType declaringClass, IRType root, IRelativeTypeInfo.Accessibility accessibility)
-
Methods inherited from class gw.internal.gosu.ir.transform.TransformationContextBase
compile, compileInitializerAssignment, compilingBlock, compilingEnhancement, compilingEnum, compilingProgram, createSymbol, getCurrentFunction, getCurrentFunctionName, getCurrentFunctionReturnType, getEnclosingType, getGosuClass, getIrClass, getScopes, getSuperType, getSymbol, getTypeParamIndex, hasSuperBeenInvoked, hasSymbol, incrementLazyTypeMethodCount, initBodyContext, initBodyContext, isBlockInvoke, isCurrentFunctionStatic, isNonStaticInnerClass, isStatic, makeAndIndexTempSymbol, makeAndIndexTempSymbol, makeTempSymbolName, markInvokingSuper, markSuperInvoked, popScope, pushScope, putSymbol, putSymbols, setIrClass, updateSuperInvokedAfterLastExpressionCompiles
-
-
-
-
Constructor Detail
-
GosuClassTransformationContext
public GosuClassTransformationContext(GosuClassTransformer classTransformer, IGosuClassInternal gsClass)
-
-
Method Detail
-
maybeAssignOuterRef
public void maybeAssignOuterRef(List<IRStatement> statements)
-
maybePushSupersEnclosingThisRef
public void maybePushSupersEnclosingThisRef(List<IRExpression> arguments)
-
pushEnumNameAndOrdinal
public void pushEnumNameAndOrdinal(IType type, List<IRExpression> args)
-
initCapturedSymbolFields
public void initCapturedSymbolFields(List<IRStatement> statements)
-
initTypeVarFields
public void initTypeVarFields(List<IRStatement> statements)
-
initializeInstanceFields
public void initializeInstanceFields(List<IRStatement> statements)
-
addAssertionsStaticField
public void addAssertionsStaticField()
-
getOuterThisParamName
public String getOuterThisParamName()
-
getSourceFileRef
public String getSourceFileRef()
-
getSourceLine
public String getSourceLine(int lineNumber)
-
getOuterThisFieldName
public String getOuterThisFieldName()
-
getIRTypeForCurrentClass
public IRType getIRTypeForCurrentClass()
-
isExternalSymbol
public boolean isExternalSymbol(String name)
-
isFragmentEvaluation
public boolean isFragmentEvaluation()
-
shouldUseReflection
public boolean shouldUseReflection(IType declaringClass, IRType root, IRelativeTypeInfo.Accessibility accessibility)
-
isIllegalProtectedCall
public boolean isIllegalProtectedCall(IType declaringClass, IRType root, IRelativeTypeInfo.Accessibility accessibility)
-
currentlyCompilingBlock
public boolean currentlyCompilingBlock()
- Specified by:
currentlyCompilingBlock
in interfaceTopLevelTransformationContext
- Overrides:
currentlyCompilingBlock
in classTransformationContextBase
-
-