Package gw.internal.gosu.ir.transform
Class GosuFragmentTransformationContext
- java.lang.Object
-
- gw.internal.gosu.ir.transform.TransformationContextBase
-
- gw.internal.gosu.ir.transform.GosuFragmentTransformationContext
-
- All Implemented Interfaces:
TopLevelTransformationContext
public class GosuFragmentTransformationContext extends TransformationContextBase
-
-
Field Summary
Fields Modifier and Type Field Description private IRType_compilingTypeprivate GosuFragment_fragmentprivate java.lang.String_sourceFile
-
Constructor Summary
Constructors Constructor Description GosuFragmentTransformationContext(GosuFragment fragment, IRType compilingType, java.lang.String sourceFile, boolean instrument)
-
Method Summary
-
Methods inherited from class gw.internal.gosu.ir.transform.TransformationContextBase
compile, compileInitializerAssignment, compilingBlock, compilingEnhancement, compilingEnum, compilingProgram, createSymbol, currentlyCompilingBlock, getCurrentFunction, getCurrentFunctionName, 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
-
-
-
-
Field Detail
-
_fragment
private GosuFragment _fragment
-
_compilingType
private IRType _compilingType
-
_sourceFile
private java.lang.String _sourceFile
-
-
Constructor Detail
-
GosuFragmentTransformationContext
public GosuFragmentTransformationContext(GosuFragment fragment, IRType compilingType, java.lang.String sourceFile, boolean instrument)
-
-
Method Detail
-
maybeAssignOuterRef
public void maybeAssignOuterRef(java.util.List<IRStatement> statements)
-
maybePushSupersEnclosingThisRef
public void maybePushSupersEnclosingThisRef(java.util.List<IRExpression> arguments)
-
pushEnumNameAndOrdinal
public void pushEnumNameAndOrdinal(IType type, java.util.List<IRExpression> args)
-
initCapturedSymbolFields
public void initCapturedSymbolFields(java.util.List<IRStatement> statements)
-
initTypeVarFields
public void initTypeVarFields(java.util.List<IRStatement> statements)
-
initializeInstanceFields
public void initializeInstanceFields(java.util.List<IRStatement> statements)
-
getOuterThisFieldName
public java.lang.String getOuterThisFieldName()
-
getOuterThisParamName
public java.lang.String getOuterThisParamName()
-
getSourceFileRef
public java.lang.String getSourceFileRef()
-
getSourceLine
public java.lang.String getSourceLine(int lineNumber)
-
getIRTypeForCurrentClass
public IRType getIRTypeForCurrentClass()
-
shouldUseReflection
public boolean shouldUseReflection(IType declaringClass, IRType root, IRelativeTypeInfo.Accessibility accessibility)
-
isIllegalProtectedCall
public boolean isIllegalProtectedCall(IType declaringClass, IRType root, IRelativeTypeInfo.Accessibility accessibility)
-
isExternalSymbol
public boolean isExternalSymbol(java.lang.String name)
-
isFragmentEvaluation
public boolean isFragmentEvaluation()
-
addAssertionsStaticField
public void addAssertionsStaticField()
-
getCurrentFunctionReturnType
public IType getCurrentFunctionReturnType()
- Specified by:
getCurrentFunctionReturnTypein interfaceTopLevelTransformationContext- Overrides:
getCurrentFunctionReturnTypein classTransformationContextBase
-
-