Wiki

Changeset 1782

Show
Ignore:
Timestamp:
11/28/08 20:31:12 (3 years ago)
Author:
Chuck.Esterbrook
Message:

Added better error checking for streams.

Location:
cobra/trunk
Files:
1 added
2 modified

Legend:

Unmodified
Added
Removed
  • cobra/trunk/Developer/IntermediateReleaseNotes.text

    r1780 r1782  
    44.code 
    55    """ This is a one line docStr""" 
     6 
     7* Added streams like int* and String* 
    68 
    79* Added storage type specification for enums: 
  • cobra/trunk/Source/Types.cobra

    r1781 r1782  
    14681468        - An IEnumerable/Iterable can be used whereever a compatible stream type is expected. 
    14691469        - The term "compatible" means the same inner type: int* is compatible with IEnumerable<of int>/Iterable<of int>, but not IEnumerable<of String>/Iterable<of String> 
     1470    - However, compatibility does not mean that you can use the methods of IEnumerable or Iterable, since these vary between platforms. 
    14701471    - Streams are an abstract type, so you cannot create them directly with a call on the type such as `int*()`. Instead, use a concrete class such as `List<of>` or `yield` results out of a method. 
    14711472    - Streams are defaulted to be empty rather than nil. 
     
    15071508 
    15081509    def memberForName(name as String) as IMember? is override 
    1509         return _box.memberForName(name) 
     1510        # return base.memberForName(name)  You cannot use the members of the underlying type which varies between platforms. 
     1511        return base.memberForName(name) 
     1512 
     1513    def suggestionsForBadMemberName(name as String) as List<of String> is override 
     1514        # See comment in .memberForName. 
     1515        return List<of String>() 
    15101516 
    15111517    def greatestCommonDenominatorWith(type as IType) as IType is override 
     
    15201526        else if _superType is nil  # TODO: is this really needed? 
    15211527            _superType = .compiler.objectType 
    1522  
    1523     def _bindInt 
    1524         base._bindInt 
    1525         # TODO: why do we have to do this? 
    1526         if not .didBindInh 
    1527             .bindInh 
    15281528 
    15291529