Ejemplo n.º 1
0
        public SuperLiteralExpression CreateSuperReference(IType super)
        {
            SuperLiteralExpression expression = new SuperLiteralExpression();

            expression.ExpressionType = super;
            return(expression);
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 4
0
 public override void OnSuperLiteralExpression(SuperLiteralExpression node)
 {
     if (callingClass == null)
     {
         ClearResult();
     }
     else
     {
         MakeResult(callingClass.BaseType);
     }
 }
Ejemplo n.º 5
0
 override public void OnSuperLiteralExpression(SuperLiteralExpression node)
 {
     if (AstUtil.IsTargetOfMethodInvocation(node))
     {
         return;
     }
     if (AstUtil.IsTargetOfMemberReference(node))
     {
         return;
     }
     Error(CompilerErrorFactory.InvalidSuper(node));
 }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
 override public void OnSuperLiteralExpression(SuperLiteralExpression node)
 {
     WriteKeyword("super");
 }
Ejemplo n.º 8
0
 public override void OnSuperLiteralExpression(SuperLiteralExpression node)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 9
0
 override public void OnSuperLiteralExpression(SuperLiteralExpression node)
 {
     OnExpression(node);
 }
Ejemplo n.º 10
0
 public override void OnSuperLiteralExpression(SuperLiteralExpression node)
 {
     _expression = new CodeBaseReferenceExpression();
 }
Ejemplo n.º 11
0
 public override void OnSuperLiteralExpression(SuperLiteralExpression node)
 {
     base.OnSuperLiteralExpression(node);
     Check(node);
 }