protected internal override CapnpType VisitReference(CapnpReference @ref)
        {
            _mUnresolvedRefCount += 1;
             _mRefs.Add(@ref);
             var result = mCurrentScope.ResolveFullName(@ref.FullName);

             if (result != null && !(result is CapnpReference))
             {
            _mUnresolvedRefCount -= 1;
            _mRefs.Remove(@ref);
            return result;
             }

             // No change, nothing resolved.
             return @ref;
        }
예제 #2
0
 // todo, first collect some rules
 // - numbers should not contain any 'holes'
 // - correct application of annotations (finish below todo)
 // - detect interfaces structs with same names etc
 // This should never happen with a correct parser.
 protected internal override CapnpType VisitReference(CapnpReference @ref)
 {
     throw new InvalidOperationException("unexpected reference: " + @ref.FullName);
 }
예제 #3
0
 protected internal virtual CapnpType VisitReference(CapnpReference @ref)
 {
     return @ref;
 }