コード例 #1
0
ファイル: VisitorHelper.cs プロジェクト: tupipa/vcc
 public static Token GetTokenFor(IEnumerable <ILocation> locations)
 {
     if (IteratorHelper.EnumerableIsEmpty(locations))
     {
         return(Token.NoToken);
     }
     return(LazyToken.Create(new DeferredToken(locations).GetToken));
 }
コード例 #2
0
ファイル: VisitorHelper.cs プロジェクト: tupipa/vcc
        public static ISourceLocation LocationFromToken(Token tok)
        {
            SourceLocationWrapper wrap = tok as SourceLocationWrapper;

            if (wrap != null)
            {
                return(wrap.firstSourceLocation);
            }
            ForwardingToken fwd = tok as ForwardingToken;

            if (fwd != null)
            {
                return(LocationFromToken(fwd.WrappedToken));
            }
            LazyToken lazyToken = tok as LazyToken;

            if (lazyToken != null)
            {
                return(LocationFromToken(lazyToken.DelayedToken));
            }
            return(SourceDummy.SourceLocation);
        }