public override object VisitPtrType([NotNull] SLangGrammarParser.PtrTypeContext context)
        {
            SlangCustomType customType;

            customType = context.customType() != null?GetCustomTypeContext(context.customType()) : SlangCustomType.Object;

            return(new SlangPointerType(customType));
        }
 public override object VisitPtrType([NotNull] SLangGrammarParser.PtrTypeContext context)
 {
     SlangCustomType type;
     if (context.customType() != null)
     {
         type = Visit(context.customType()) as SlangCustomType;
     }
     else
     {
         type = SlangCustomType.Object;
         CheckClassExists(type.ModuleName, type.Name, context.LBrace().Symbol);
     }
     return new SlangPointerType(type);
 }
Example #3
0
 /// <summary>
 /// Exit a parse tree produced by <see cref="SLangGrammarParser.ptrType"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitPtrType([NotNull] SLangGrammarParser.PtrTypeContext context)
 {
 }
 /// <summary>
 /// Visit a parse tree produced by <see cref="SLangGrammarParser.ptrType"/>.
 /// <para>
 /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/>
 /// on <paramref name="context"/>.
 /// </para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 /// <return>The visitor result.</return>
 public virtual Result VisitPtrType([NotNull] SLangGrammarParser.PtrTypeContext context)
 {
     return(VisitChildren(context));
 }