Example #1
0
 /// <summary>
 /// allows sequence recursion for unions/struct. Don't forget to call
 /// UnpublishTypeForSequenceRecursion after sequence elem type is identified
 /// </summary>
 public void PublishTypeForSequenceRecursion(Symbol typeSym, TypeBuilder type)
 {
     if (!IsTypeDeclarded(typeSym))
     {
         TypeContainer container =
             new CompileTimeTypeContainer(this, type);
         m_sequenceRecursionAllowedType = new TypeSymbolPair(typeSym, container);
     }
 }
Example #2
0
 /// <summary>
 /// called after sequence element type has been identified
 /// </summary>
 public void UnpublishTypeForSequenceRecursion() {
     m_sequenceRecursionAllowedType = null;
 }
Example #3
0
 /// <summary>
 /// allows sequence recursion for unions/struct. Don't forget to call
 /// UnpublishTypeForSequenceRecursion after sequence elem type is identified
 /// </summary>
 public void PublishTypeForSequenceRecursion(Symbol typeSym, TypeBuilder type) {
     if (!IsTypeDeclarded(typeSym)) {
         TypeContainer container =
             new CompileTimeTypeContainer(this, type);
         m_sequenceRecursionAllowedType = new TypeSymbolPair(typeSym, container);
     }            
 }
Example #4
0
 /// <summary>
 /// called after sequence element type has been identified
 /// </summary>
 public void UnpublishTypeForSequenceRecursion()
 {
     m_sequenceRecursionAllowedType = null;
 }