public SuperLiteralExpression CreateSuperReference(IType super) { SuperLiteralExpression expression = new SuperLiteralExpression(); expression.ExpressionType = super; return(expression); }
public override void Switch(IAstTransformer transformer, out Node resultingNode) { SuperLiteralExpression thisNode = (SuperLiteralExpression)this; Expression resultingTypedNode = thisNode; transformer.OnSuperLiteralExpression(thisNode, ref resultingTypedNode); resultingNode = resultingTypedNode; }
override public void OnSuperLiteralExpression(SuperLiteralExpression node) { base.OnSuperLiteralExpression(node); if (node.IsTargetOfMethodInvocation()) { OnExpression(node); } }
public override void OnSuperLiteralExpression(SuperLiteralExpression node) { if (callingClass == null) { ClearResult(); } else { MakeResult(callingClass.BaseType); } }
override public void OnSuperLiteralExpression(SuperLiteralExpression node) { if (AstUtil.IsTargetOfMethodInvocation(node)) { return; } if (AstUtil.IsTargetOfMemberReference(node)) { return; } Error(CompilerErrorFactory.InvalidSuper(node)); }
override public void OnSuperLiteralExpression(SuperLiteralExpression node) { var externalSelf = CodeBuilder.CreateReference(node.LexicalInfo, ExternalEnumeratorSelf()); if (AstUtil.IsTargetOfMethodInvocation(node)) // super(...) { ReplaceCurrentNode(CodeBuilder.CreateMemberReference(externalSelf, (IMethod)GetEntity(node))); } else // super.Method(...) { ReplaceCurrentNode(externalSelf); } }
override public void OnSuperLiteralExpression(SuperLiteralExpression node) { WriteKeyword("super"); }
public override void OnSuperLiteralExpression(SuperLiteralExpression node) { throw new NotImplementedException(); }
override public void OnSuperLiteralExpression(SuperLiteralExpression node) { OnExpression(node); }
public override void OnSuperLiteralExpression(SuperLiteralExpression node) { _expression = new CodeBaseReferenceExpression(); }
public override void OnSuperLiteralExpression(SuperLiteralExpression node) { base.OnSuperLiteralExpression(node); Check(node); }