Class ProtoParser


  • public class ProtoParser
    extends java.lang.Object
    • Field Detail

      • expr

        private char[] expr
      • endOffset

        private int endOffset
      • cursor

        private int cursor
      • protoName

        private java.lang.String protoName
      • tk1

        java.lang.String tk1
      • tk2

        java.lang.String tk2
      • type

        private java.lang.Class type
      • name

        private java.lang.String name
      • deferredName

        private java.lang.String deferredName
      • interpreted

        private boolean interpreted
    • Constructor Detail

      • ProtoParser

        public ProtoParser​(char[] expr,
                           int offset,
                           int offsetEnd,
                           java.lang.String protoName,
                           ParserContext pCtx,
                           int fields,
                           ExecutionStack splitAccumulator)
    • Method Detail

      • parse

        public Proto parse()
      • calculateDecl

        private void calculateDecl()
      • enqueueReceiverForLateResolution

        private void enqueueReceiverForLateResolution​(java.lang.String name,
                                                      Proto.Receiver receiver,
                                                      java.lang.String initializer)
      • notifyForLateResolution

        public static void notifyForLateResolution​(Proto proto)
      • getCursor

        public int getCursor()
      • checkForPossibleUnresolvedViolations

        public static void checkForPossibleUnresolvedViolations​(char[] expr,
                                                                int cursor,
                                                                ParserContext pCtx)
        This is such a horrible hack, but it's more performant than any other horrible hack I can think of right now.
        Parameters:
        expr - expr
        cursor - cursor
        pCtx - pCtx
      • isUnresolvedWaiting

        public static boolean isUnresolvedWaiting()
      • getNextUnresolvedWaiting

        public static java.lang.String getNextUnresolvedWaiting()