StringHelperBase.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // StringHelperBase.cs
  2. // Author: Sergey Chaban ([email protected])
  3. using System;
  4. using System.Text;
  5. namespace Mono.ILASM {
  6. /// <summary>
  7. /// </summary>
  8. internal abstract class StringHelperBase {
  9. protected ILTokenizer host;
  10. protected int mode;
  11. /// <summary>
  12. /// </summary>
  13. /// <param name="host"></param>
  14. public StringHelperBase (ILTokenizer host) {
  15. this.host = host;
  16. mode = Token.UNKNOWN;
  17. }
  18. /// <summary>
  19. /// </summary>
  20. /// <returns></returns>
  21. public abstract bool Start (char ch);
  22. /// <summary>
  23. /// </summary>
  24. /// <returns></returns>
  25. public bool Start (int ch)
  26. {
  27. return Start ((char)ch);
  28. }
  29. /// <summary>
  30. /// </summary>
  31. /// <returns></returns>
  32. public bool Start ()
  33. {
  34. return Start (host.Reader.Peek ());
  35. }
  36. /// <summary>
  37. /// </summary>
  38. /// <returns></returns>
  39. public abstract string Build ();
  40. /// <summary>
  41. /// </summary>
  42. public int TokenId {
  43. get {
  44. return mode;
  45. }
  46. }
  47. }
  48. }