int token = from.tokens[i]; if (TokenBuilder.extractType(token) == TypeMask.Group) { if ((TokenBuilder.extractOper(token)&OperatorMask.Group_Bit_Close)!=0 ) { depth-=step; ? " "+from.fieldNameScript[i] : ""; System.out.println(row.substring(row.length()-6)+tab.substring(0,depth)+TokenBuilder.tokenToString(token)+name); if (TokenBuilder.extractType(token) == TypeMask.Group) { if ((TokenBuilder.extractOper(token)&OperatorMask.Group_Bit_Close)==0 ) { depth+=step;
private void basicGroupClose(int opMask) { int pmapMaxBits = groupOpenTokenPMapStack[groupTokenStackHead]; int pmapMaxBytes = (pmapMaxBits + 6) / 7; // if bits is zero this // will be zero. // System.err.println("y pmap bits "+pmapMaxBits+" "+pmapMaxBytes); catalogLargestNonTemplatePMap = Math.max(catalogLargestNonTemplatePMap, pmapMaxBytes); int openToken = groupOpenTokenStack[groupTokenStackHead]; if (pmapMaxBytes > 0) { opMask |= OperatorMask.Group_Bit_PMap; openToken |= (OperatorMask.Group_Bit_PMap << TokenBuilder.SHIFT_OPER); } // int openGroupIdx = TokenBuilder.MAX_INSTANCE & openToken; int groupSize = catalogTemplateScriptIdx - openGroupIdx; // change open token so it has the total number of script steps // inside the group. catalogScriptTokens[openGroupIdx] = (groupOpenTokenStack[groupTokenStackHead] = (TokenBuilder.MAX_FIELD_MASK & openToken) | (TokenBuilder.MAX_FIELD_ID_VALUE & groupSize)); catalogScriptFieldIds[openGroupIdx++] = 0; //add closing group to script catalogScriptTokens[catalogTemplateScriptIdx] = TokenBuilder.buildToken(TypeMask.Group, opMask, groupSize); catalogScriptFieldIds[catalogTemplateScriptIdx++] = 0; groupTokenStackHead--;// pop this group off the stack to work on the // previous. }
public static String tokenToString(int token) { assert(token<0) : "This is not a token"; if (token == -1) { return "Unknown"; } int type = extractType(token); int count = token & TokenBuilder.MAX_INSTANCE; int opp = (token >> TokenBuilder.SHIFT_OPER) & TokenBuilder.MASK_OPER; if (isInValidCombo(type, opp)) { throw new UnsupportedOperationException("bad token"); } if (TypeMask.Group==type || TypeMask.Dictionary==type) { return TypeMask.methodTypeName[type] + TypeMask.methodTypeSuffix[type] + "/" + OperatorMask.toString(type, opp) + "/" + count; } else { return TypeMask.methodTypeName[type] + TypeMask.methodTypeSuffix[type] + "/" + OperatorMask.methodOperatorName[opp] + "/" + count; } }
int token = tokens[j]; if (TypeMask.Group == TokenBuilder.extractType(token) ) { int opMask = TokenBuilder.extractOper(token); if ((OperatorMask.Group_Bit_Close & opMask)==0 && //this is an OPENING group not a CLOSE (OperatorMask.Group_Bit_Templ & opMask)!=0 ) { //this is a special GROUP called a TEMPLATE int token = tokens[j]; if (TypeMask.Group == TokenBuilder.extractType(token) ) { int opMask = TokenBuilder.extractOper(token); if ((OperatorMask.Group_Bit_Close & opMask)==0 && //this is an OPENING group not a CLOSE (OperatorMask.Group_Bit_Templ & opMask)!=0 ) { //this is a special GROUP called a TEMPLATE
for(int f = firstField; f<(firstField+fieldCount); f++) { if (null==generators[f]) { throw new UnsupportedOperationException("Unsupported Type "+TokenBuilder.tokenToString(MessageSchema.from(schema).tokens[f])); if (fixedSequenceLength>0 && TypeMask.GroupLength == TokenBuilder.extractType(MessageSchema.from(schema).tokens[f])) { Appendables.appendHexDigits(target, fixedSequenceLength); } else { TypeMask.GroupLength == TokenBuilder.extractType(MessageSchema.from(schema).tokens[f]) ) { Appendables.appendHexDigits(target, maximumSequenceMask).append("&");
int numShifts = 1; int token = from.tokens[cursor]; int pmapType = TokenBuilder.extractType(token); if(TypeMask.isOptional(pmapType)) numShifts++; int oper = TokenBuilder.extractOper(token); switch (oper) { case OperatorMask.Field_Copy: decodeCopyIntGenerator(target, TokenBuilder.extractId(token), TypeMask.isOptional(pmapType)); break; case OperatorMask.Field_Constant: decodeDefaultIntGenerator(target, TokenBuilder.extractId(token), TypeMask.isOptional(pmapType)); break; case OperatorMask.Field_Delta: decodeDeltaIntGenerator(target, TokenBuilder.extractId(token), TypeMask.isOptional(pmapType)); break; case OperatorMask.Field_Increment: decodeIncrementIntGenerator(target, TokenBuilder.extractId(token), TypeMask.isOptional(pmapType)); break; case OperatorMask.Field_None: int oper = TokenBuilder.extractOper(token); switch (oper) { case OperatorMask.Field_Copy: decodeCopyLongGenerator(target, TokenBuilder.extractId(token), TypeMask.isOptional(pmapType)); break; case OperatorMask.Field_Constant:
private static boolean exitSearch(FieldReferenceOffsetManager from, int x) { int token = from.tokens[x]; int type = TokenBuilder.extractType(token); boolean isGroupClosed = TypeMask.Group == type && (0 != (token & (OperatorMask.Group_Bit_Close << TokenBuilder.SHIFT_OPER))) && (0 != (token & (OperatorMask.Group_Bit_Templ << TokenBuilder.SHIFT_OPER))); return isGroupClosed; }
newDTokens[activeDictionary] = token = TokenBuilder.buildToken(tokenType, fieldOperator, tokCount); token = dTokens[activeDictionary]; if (0 != token && fieldType!= TypeMask.Decimal && fieldType!=TypeMask.DecimalOptional) { ///TODO: B, hack for now but need to clean up for decimals. if (fieldType != TokenBuilder.extractType(token) || fieldOperator != TokenBuilder.extractOper(token)) { throw new SAXException("Field id "+intFieldId+" 0x"+Integer.toHexString(intFieldId)+" can not be redefined within the same dictionary. "+ fieldType+" vs "+TokenBuilder.extractType(token)+" "+ fieldOperator+" vs "+TokenBuilder.extractOper(token)+" name:"+fieldName ); dTokens[activeDictionary] = token = TokenBuilder.buildToken(tokenType, fieldOperator, tokCount);
int token = from.tokens[curCursor]; tokens.push(token); curCursor += TypeMask.scriptTokenSize[TokenBuilder.extractType(token)]; while (i >= 0) { int token = tokens.pop(); int pmapType = TokenBuilder.extractType(token); encodePmapBuilderInt(schema, bodyTarget, token, TokenBuilder.extractId(token), varName, isNull); encodePmapBuilderLong(schema, bodyTarget, token, TokenBuilder.extractId(token), varName, isNull); curCursor += TypeMask.scriptTokenSize[TokenBuilder.extractType(token)]; i--;
public static boolean isGroupSequence(FieldReferenceOffsetManager from, int cursor) { return 0 != (OperatorMask.Group_Bit_Seq&TokenBuilder.extractOper(from.tokens[cursor])); }
private static String errorMessageForMessageStartValidation(StackStateWalker rw, long llwHeadPosCache) { return "Templated message must start with group open and this starts with "+TokenBuilder.tokenToString(rw.from.tokens[rw.msgIdx])+ " readBase "+rw.activeReadFragmentStack[0] + " nextWorkingTail:"+rw.nextWorkingTail+" headPosCache:"+llwHeadPosCache; }
rem -= from.fragDataSize[idx++]; int type = TokenBuilder.extractType(from.tokens[idx]); suggestions[j]=(TokenBuilder.tokenToString(from.tokens[idx]));
int token = tokens[j]; if (TypeMask.Group == TokenBuilder.extractType(token) ) { int opMask = TokenBuilder.extractOper(token); if ((OperatorMask.Group_Bit_Close & opMask)==0 && //this is an OPENING group not a CLOSE (OperatorMask.Group_Bit_Templ & opMask)!=0 ) { //this is a special GROUP called a TEMPLATE int token = tokens[j]; if (TypeMask.Group == TokenBuilder.extractType(token) ) { int opMask = TokenBuilder.extractOper(token); if ((OperatorMask.Group_Bit_Close & opMask)==0 && //this is an OPENING group not a CLOSE (OperatorMask.Group_Bit_Templ & opMask)!=0 ) { //this is a special GROUP called a TEMPLATE
int numShifts = 1; int token = from.tokens[cursor]; int pmapType = TokenBuilder.extractType(token); if(TypeMask.isOptional(pmapType)) numShifts++; int oper = TokenBuilder.extractOper(token); switch (oper) { case OperatorMask.Field_Copy: decodeCopyIntGenerator(target, TokenBuilder.extractId(token), TypeMask.isOptional(pmapType)); break; case OperatorMask.Field_Constant: decodeDefaultIntGenerator(target, TokenBuilder.extractId(token), TypeMask.isOptional(pmapType)); break; case OperatorMask.Field_Delta: decodeDeltaIntGenerator(target, TokenBuilder.extractId(token), TypeMask.isOptional(pmapType)); break; case OperatorMask.Field_Increment: decodeIncrementIntGenerator(target, TokenBuilder.extractId(token), TypeMask.isOptional(pmapType)); break; case OperatorMask.Field_None: int oper = TokenBuilder.extractOper(token); switch (oper) { case OperatorMask.Field_Copy: decodeCopyLongGenerator(target, TokenBuilder.extractId(token), TypeMask.isOptional(pmapType)); break; case OperatorMask.Field_Constant:
private static boolean exitSearch(FieldReferenceOffsetManager from, int x) { int token = from.tokens[x]; int type = TokenBuilder.extractType(token); boolean isGroupClosed = TypeMask.Group == type && (0 != (token & (OperatorMask.Group_Bit_Close << TokenBuilder.SHIFT_OPER))) && (0 != (token & (OperatorMask.Group_Bit_Templ << TokenBuilder.SHIFT_OPER))); return isGroupClosed; }
newDTokens[activeDictionary] = token = TokenBuilder.buildToken(tokenType, fieldOperator, tokCount); token = dTokens[activeDictionary]; if (0 != token && fieldType!= TypeMask.Decimal && fieldType!=TypeMask.DecimalOptional) { ///TODO: B, hack for now but need to clean up for decimals. if (fieldType != TokenBuilder.extractType(token) || fieldOperator != TokenBuilder.extractOper(token)) { throw new SAXException("Field id "+intFieldId+" 0x"+Integer.toHexString(intFieldId)+" can not be redefined within the same dictionary. "+ fieldType+" vs "+TokenBuilder.extractType(token)+" "+ fieldOperator+" vs "+TokenBuilder.extractOper(token)+" name:"+fieldName ); dTokens[activeDictionary] = token = TokenBuilder.buildToken(tokenType, fieldOperator, tokCount);
int type = TokenBuilder.extractType(token); int fieldId = TokenBuilder.extractId(token);
public static boolean isGroupSequence(FieldReferenceOffsetManager from, int cursor) { return 0 != (OperatorMask.Group_Bit_Seq&TokenBuilder.extractOper(from.tokens[cursor])); }
private static String errorMessageForMessageStartValidation(StackStateWalker rw, long llwHeadPosCache) { return "Templated message must start with group open and this starts with "+TokenBuilder.tokenToString(rw.from.tokens[rw.msgIdx])+ " readBase "+rw.activeReadFragmentStack[0] + " nextWorkingTail:"+rw.nextWorkingTail+" headPosCache:"+llwHeadPosCache; }
int token = from.tokens[i]; if (TokenBuilder.extractType(token) == TypeMask.Group) { if ((TokenBuilder.extractOper(token)&OperatorMask.Group_Bit_Close)!=0 ) { depth-=step; ? " "+from.fieldNameScript[i] : ""; System.out.println(row.substring(row.length()-6)+tab.substring(0,depth)+TokenBuilder.tokenToString(token)+name); if (TokenBuilder.extractType(token) == TypeMask.Group) { if ((TokenBuilder.extractOper(token)&OperatorMask.Group_Bit_Close)==0 ) { depth+=step;