mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Merge pull request #2392 from vighnesh1987/apache-thrift
Add Apache thrift support to generated? check
This commit is contained in:
		| @@ -67,6 +67,7 @@ module Linguist | ||||
|       compiled_cython_file? || | ||||
|       generated_protocol_buffer_go? || | ||||
|       generated_protocol_buffer? || | ||||
|       generated_apache_thrift? || | ||||
|       generated_jni_header? || | ||||
|       generated_unity3d_meta? || | ||||
|       vcr_cassette? | ||||
| @@ -250,6 +251,16 @@ module Linguist | ||||
|       return lines[0].include?("Generated by the protocol buffer compiler.  DO NOT EDIT!") | ||||
|     end | ||||
|      | ||||
|     # Internal: Is the blob generated by Apache Thrift compiler? | ||||
|     # | ||||
|     # Returns true or false | ||||
|     def generated_apache_thrift? | ||||
|       return false unless ['.rb', '.py', '.go', '.js', '.m', '.java', '.h', '.cc', '.cpp'].include?(extname) | ||||
|       return false unless lines.count > 1 | ||||
|  | ||||
|       return lines[0].include?("Autogenerated by Thrift Compiler") || lines[1].include?("Autogenerated by Thrift Compiler") | ||||
|     end | ||||
|  | ||||
|     # Internal: Is the blob a C/C++ header generated by the Java JNI tool javah? | ||||
|     # | ||||
|     # Returns true of false. | ||||
|   | ||||
							
								
								
									
										18
									
								
								samples/Go/gen-go-linguist-thrift.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								samples/Go/gen-go-linguist-thrift.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| // Autogenerated by Thrift Compiler (1.0.0-dev) | ||||
| // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||
|  | ||||
| package linguist | ||||
|  | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"fmt" | ||||
| 	"git.apache.org/thrift.git/lib/go/thrift" | ||||
| ) | ||||
|  | ||||
| // (needed to ensure safety because of naive import list construction.) | ||||
| var _ = thrift.ZERO | ||||
| var _ = fmt.Printf | ||||
| var _ = bytes.Equal | ||||
|  | ||||
| func init() { | ||||
| } | ||||
							
								
								
									
										396
									
								
								samples/Java/gen-java-linguist-thrift.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										396
									
								
								samples/Java/gen-java-linguist-thrift.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,396 @@ | ||||
| /** | ||||
|  * Autogenerated by Thrift Compiler (1.0.0-dev) | ||||
|  * | ||||
|  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||
|  *  @generated | ||||
|  */ | ||||
| import org.apache.thrift.scheme.IScheme; | ||||
| import org.apache.thrift.scheme.SchemeFactory; | ||||
| import org.apache.thrift.scheme.StandardScheme; | ||||
|  | ||||
| import org.apache.thrift.scheme.TupleScheme; | ||||
| import org.apache.thrift.protocol.TTupleProtocol; | ||||
| import org.apache.thrift.protocol.TProtocolException; | ||||
| import org.apache.thrift.EncodingUtils; | ||||
| import org.apache.thrift.TException; | ||||
| import org.apache.thrift.async.AsyncMethodCallback; | ||||
| import org.apache.thrift.server.AbstractNonblockingServer.*; | ||||
| import java.util.List; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Map; | ||||
| import java.util.HashMap; | ||||
| import java.util.EnumMap; | ||||
| import java.util.Set; | ||||
| import java.util.HashSet; | ||||
| import java.util.EnumSet; | ||||
| import java.util.Collections; | ||||
| import java.util.BitSet; | ||||
| import java.nio.ByteBuffer; | ||||
| import java.util.Arrays; | ||||
| import javax.annotation.Generated; | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
|  | ||||
| @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) | ||||
| @Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)", date = "2015-5-12") | ||||
| public class PullRequest implements org.apache.thrift.TBase<PullRequest, PullRequest._Fields>, java.io.Serializable, Cloneable, Comparable<PullRequest> { | ||||
|   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PullRequest"); | ||||
|  | ||||
|   private static final org.apache.thrift.protocol.TField TITLE_FIELD_DESC = new org.apache.thrift.protocol.TField("title", org.apache.thrift.protocol.TType.STRING, (short)1); | ||||
|  | ||||
|   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); | ||||
|   static { | ||||
|     schemes.put(StandardScheme.class, new PullRequestStandardSchemeFactory()); | ||||
|     schemes.put(TupleScheme.class, new PullRequestTupleSchemeFactory()); | ||||
|   } | ||||
|  | ||||
|   public String title; // required | ||||
|  | ||||
|   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ | ||||
|   public enum _Fields implements org.apache.thrift.TFieldIdEnum { | ||||
|     TITLE((short)1, "title"); | ||||
|  | ||||
|     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); | ||||
|  | ||||
|     static { | ||||
|       for (_Fields field : EnumSet.allOf(_Fields.class)) { | ||||
|         byName.put(field.getFieldName(), field); | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Find the _Fields constant that matches fieldId, or null if its not found. | ||||
|      */ | ||||
|     public static _Fields findByThriftId(int fieldId) { | ||||
|       switch(fieldId) { | ||||
|         case 1: // TITLE | ||||
|           return TITLE; | ||||
|         default: | ||||
|           return null; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Find the _Fields constant that matches fieldId, throwing an exception | ||||
|      * if it is not found. | ||||
|      */ | ||||
|     public static _Fields findByThriftIdOrThrow(int fieldId) { | ||||
|       _Fields fields = findByThriftId(fieldId); | ||||
|       if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); | ||||
|       return fields; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Find the _Fields constant that matches name, or null if its not found. | ||||
|      */ | ||||
|     public static _Fields findByName(String name) { | ||||
|       return byName.get(name); | ||||
|     } | ||||
|  | ||||
|     private final short _thriftId; | ||||
|     private final String _fieldName; | ||||
|  | ||||
|     _Fields(short thriftId, String fieldName) { | ||||
|       _thriftId = thriftId; | ||||
|       _fieldName = fieldName; | ||||
|     } | ||||
|  | ||||
|     public short getThriftFieldId() { | ||||
|       return _thriftId; | ||||
|     } | ||||
|  | ||||
|     public String getFieldName() { | ||||
|       return _fieldName; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   // isset id assignments | ||||
|   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; | ||||
|   static { | ||||
|     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); | ||||
|     tmpMap.put(_Fields.TITLE, new org.apache.thrift.meta_data.FieldMetaData("title", org.apache.thrift.TFieldRequirementType.DEFAULT,  | ||||
|         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); | ||||
|     metaDataMap = Collections.unmodifiableMap(tmpMap); | ||||
|     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(PullRequest.class, metaDataMap); | ||||
|   } | ||||
|  | ||||
|   public PullRequest() { | ||||
|   } | ||||
|  | ||||
|   public PullRequest( | ||||
|     String title) | ||||
|   { | ||||
|     this(); | ||||
|     this.title = title; | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * Performs a deep copy on <i>other</i>. | ||||
|    */ | ||||
|   public PullRequest(PullRequest other) { | ||||
|     if (other.isSetTitle()) { | ||||
|       this.title = other.title; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   public PullRequest deepCopy() { | ||||
|     return new PullRequest(this); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void clear() { | ||||
|     this.title = null; | ||||
|   } | ||||
|  | ||||
|   public String getTitle() { | ||||
|     return this.title; | ||||
|   } | ||||
|  | ||||
|   public PullRequest setTitle(String title) { | ||||
|     this.title = title; | ||||
|     return this; | ||||
|   } | ||||
|  | ||||
|   public void unsetTitle() { | ||||
|     this.title = null; | ||||
|   } | ||||
|  | ||||
|   /** Returns true if field title is set (has been assigned a value) and false otherwise */ | ||||
|   public boolean isSetTitle() { | ||||
|     return this.title != null; | ||||
|   } | ||||
|  | ||||
|   public void setTitleIsSet(boolean value) { | ||||
|     if (!value) { | ||||
|       this.title = null; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   public void setFieldValue(_Fields field, Object value) { | ||||
|     switch (field) { | ||||
|     case TITLE: | ||||
|       if (value == null) { | ||||
|         unsetTitle(); | ||||
|       } else { | ||||
|         setTitle((String)value); | ||||
|       } | ||||
|       break; | ||||
|  | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   public Object getFieldValue(_Fields field) { | ||||
|     switch (field) { | ||||
|     case TITLE: | ||||
|       return getTitle(); | ||||
|  | ||||
|     } | ||||
|     throw new IllegalStateException(); | ||||
|   } | ||||
|  | ||||
|   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ | ||||
|   public boolean isSet(_Fields field) { | ||||
|     if (field == null) { | ||||
|       throw new IllegalArgumentException(); | ||||
|     } | ||||
|  | ||||
|     switch (field) { | ||||
|     case TITLE: | ||||
|       return isSetTitle(); | ||||
|     } | ||||
|     throw new IllegalStateException(); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public boolean equals(Object that) { | ||||
|     if (that == null) | ||||
|       return false; | ||||
|     if (that instanceof PullRequest) | ||||
|       return this.equals((PullRequest)that); | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
|   public boolean equals(PullRequest that) { | ||||
|     if (that == null) | ||||
|       return false; | ||||
|  | ||||
|     boolean this_present_title = true && this.isSetTitle(); | ||||
|     boolean that_present_title = true && that.isSetTitle(); | ||||
|     if (this_present_title || that_present_title) { | ||||
|       if (!(this_present_title && that_present_title)) | ||||
|         return false; | ||||
|       if (!this.title.equals(that.title)) | ||||
|         return false; | ||||
|     } | ||||
|  | ||||
|     return true; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public int hashCode() { | ||||
|     List<Object> list = new ArrayList<Object>(); | ||||
|  | ||||
|     boolean present_title = true && (isSetTitle()); | ||||
|     list.add(present_title); | ||||
|     if (present_title) | ||||
|       list.add(title); | ||||
|  | ||||
|     return list.hashCode(); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public int compareTo(PullRequest other) { | ||||
|     if (!getClass().equals(other.getClass())) { | ||||
|       return getClass().getName().compareTo(other.getClass().getName()); | ||||
|     } | ||||
|  | ||||
|     int lastComparison = 0; | ||||
|  | ||||
|     lastComparison = Boolean.valueOf(isSetTitle()).compareTo(other.isSetTitle()); | ||||
|     if (lastComparison != 0) { | ||||
|       return lastComparison; | ||||
|     } | ||||
|     if (isSetTitle()) { | ||||
|       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.title, other.title); | ||||
|       if (lastComparison != 0) { | ||||
|         return lastComparison; | ||||
|       } | ||||
|     } | ||||
|     return 0; | ||||
|   } | ||||
|  | ||||
|   public _Fields fieldForId(int fieldId) { | ||||
|     return _Fields.findByThriftId(fieldId); | ||||
|   } | ||||
|  | ||||
|   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { | ||||
|     schemes.get(iprot.getScheme()).getScheme().read(iprot, this); | ||||
|   } | ||||
|  | ||||
|   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { | ||||
|     schemes.get(oprot.getScheme()).getScheme().write(oprot, this); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String toString() { | ||||
|     StringBuilder sb = new StringBuilder("PullRequest("); | ||||
|     boolean first = true; | ||||
|  | ||||
|     sb.append("title:"); | ||||
|     if (this.title == null) { | ||||
|       sb.append("null"); | ||||
|     } else { | ||||
|       sb.append(this.title); | ||||
|     } | ||||
|     first = false; | ||||
|     sb.append(")"); | ||||
|     return sb.toString(); | ||||
|   } | ||||
|  | ||||
|   public void validate() throws org.apache.thrift.TException { | ||||
|     // check for required fields | ||||
|     // check for sub-struct validity | ||||
|   } | ||||
|  | ||||
|   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { | ||||
|     try { | ||||
|       write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); | ||||
|     } catch (org.apache.thrift.TException te) { | ||||
|       throw new java.io.IOException(te); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { | ||||
|     try { | ||||
|       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); | ||||
|     } catch (org.apache.thrift.TException te) { | ||||
|       throw new java.io.IOException(te); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   private static class PullRequestStandardSchemeFactory implements SchemeFactory { | ||||
|     public PullRequestStandardScheme getScheme() { | ||||
|       return new PullRequestStandardScheme(); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   private static class PullRequestStandardScheme extends StandardScheme<PullRequest> { | ||||
|  | ||||
|     public void read(org.apache.thrift.protocol.TProtocol iprot, PullRequest struct) throws org.apache.thrift.TException { | ||||
|       org.apache.thrift.protocol.TField schemeField; | ||||
|       iprot.readStructBegin(); | ||||
|       while (true) | ||||
|       { | ||||
|         schemeField = iprot.readFieldBegin(); | ||||
|         if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {  | ||||
|           break; | ||||
|         } | ||||
|         switch (schemeField.id) { | ||||
|           case 1: // TITLE | ||||
|             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { | ||||
|               struct.title = iprot.readString(); | ||||
|               struct.setTitleIsSet(true); | ||||
|             } else {  | ||||
|               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); | ||||
|             } | ||||
|             break; | ||||
|           default: | ||||
|             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); | ||||
|         } | ||||
|         iprot.readFieldEnd(); | ||||
|       } | ||||
|       iprot.readStructEnd(); | ||||
|  | ||||
|       // check for required fields of primitive type, which can't be checked in the validate method | ||||
|       struct.validate(); | ||||
|     } | ||||
|  | ||||
|     public void write(org.apache.thrift.protocol.TProtocol oprot, PullRequest struct) throws org.apache.thrift.TException { | ||||
|       struct.validate(); | ||||
|  | ||||
|       oprot.writeStructBegin(STRUCT_DESC); | ||||
|       if (struct.title != null) { | ||||
|         oprot.writeFieldBegin(TITLE_FIELD_DESC); | ||||
|         oprot.writeString(struct.title); | ||||
|         oprot.writeFieldEnd(); | ||||
|       } | ||||
|       oprot.writeFieldStop(); | ||||
|       oprot.writeStructEnd(); | ||||
|     } | ||||
|  | ||||
|   } | ||||
|  | ||||
|   private static class PullRequestTupleSchemeFactory implements SchemeFactory { | ||||
|     public PullRequestTupleScheme getScheme() { | ||||
|       return new PullRequestTupleScheme(); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   private static class PullRequestTupleScheme extends TupleScheme<PullRequest> { | ||||
|  | ||||
|     @Override | ||||
|     public void write(org.apache.thrift.protocol.TProtocol prot, PullRequest struct) throws org.apache.thrift.TException { | ||||
|       TTupleProtocol oprot = (TTupleProtocol) prot; | ||||
|       BitSet optionals = new BitSet(); | ||||
|       if (struct.isSetTitle()) { | ||||
|         optionals.set(0); | ||||
|       } | ||||
|       oprot.writeBitSet(optionals, 1); | ||||
|       if (struct.isSetTitle()) { | ||||
|         oprot.writeString(struct.title); | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void read(org.apache.thrift.protocol.TProtocol prot, PullRequest struct) throws org.apache.thrift.TException { | ||||
|       TTupleProtocol iprot = (TTupleProtocol) prot; | ||||
|       BitSet incoming = iprot.readBitSet(1); | ||||
|       if (incoming.get(0)) { | ||||
|         struct.title = iprot.readString(); | ||||
|         struct.setTitleIsSet(true); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
| } | ||||
|  | ||||
							
								
								
									
										60
									
								
								samples/JavaScript/gen-js-linguist-thrift.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								samples/JavaScript/gen-js-linguist-thrift.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| // | ||||
| // Autogenerated by Thrift Compiler (1.0.0-dev) | ||||
| // | ||||
| // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||
| // | ||||
|  | ||||
|  | ||||
| PullRequest = function(args) { | ||||
|   this.title = null; | ||||
|   if (args) { | ||||
|     if (args.title !== undefined) { | ||||
|       this.title = args.title; | ||||
|     } | ||||
|   } | ||||
| }; | ||||
| PullRequest.prototype = {}; | ||||
| PullRequest.prototype.read = function(input) { | ||||
|   input.readStructBegin(); | ||||
|   while (true) | ||||
|   { | ||||
|     var ret = input.readFieldBegin(); | ||||
|     var fname = ret.fname; | ||||
|     var ftype = ret.ftype; | ||||
|     var fid = ret.fid; | ||||
|     if (ftype == Thrift.Type.STOP) { | ||||
|       break; | ||||
|     } | ||||
|     switch (fid) | ||||
|     { | ||||
|       case 1: | ||||
|       if (ftype == Thrift.Type.STRING) { | ||||
|         this.title = input.readString().value; | ||||
|       } else { | ||||
|         input.skip(ftype); | ||||
|       } | ||||
|       break; | ||||
|       case 0: | ||||
|         input.skip(ftype); | ||||
|         break; | ||||
|       default: | ||||
|         input.skip(ftype); | ||||
|     } | ||||
|     input.readFieldEnd(); | ||||
|   } | ||||
|   input.readStructEnd(); | ||||
|   return; | ||||
| }; | ||||
|  | ||||
| PullRequest.prototype.write = function(output) { | ||||
|   output.writeStructBegin('PullRequest'); | ||||
|   if (this.title !== null && this.title !== undefined) { | ||||
|     output.writeFieldBegin('title', Thrift.Type.STRING, 1); | ||||
|     output.writeString(this.title); | ||||
|     output.writeFieldEnd(); | ||||
|   } | ||||
|   output.writeFieldStop(); | ||||
|   output.writeStructEnd(); | ||||
|   return; | ||||
| }; | ||||
|  | ||||
							
								
								
									
										176
									
								
								samples/Objective-C/gen-cocoa-linguist-thrift.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										176
									
								
								samples/Objective-C/gen-cocoa-linguist-thrift.m
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,176 @@ | ||||
| /** | ||||
|  * Autogenerated by Thrift Compiler (1.0.0-dev) | ||||
|  * | ||||
|  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||
|  *  @generated | ||||
|  */ | ||||
|  | ||||
| #import <Foundation/Foundation.h> | ||||
|  | ||||
| #import "TProtocol.h" | ||||
| #import "TApplicationException.h" | ||||
| #import "TProtocolException.h" | ||||
| #import "TProtocolUtil.h" | ||||
| #import "TProcessor.h" | ||||
| #import "TObjective-C.h" | ||||
| #import "TBase.h" | ||||
|  | ||||
|  | ||||
| #import "linguist.h" | ||||
|  | ||||
| @implementation PullRequest | ||||
|  | ||||
| - (id) init | ||||
| { | ||||
|   self = [super init]; | ||||
| #if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) | ||||
| #endif | ||||
|   return self; | ||||
| } | ||||
|  | ||||
| - (id) initWithTitle: (NSString *) title | ||||
| { | ||||
|   self = [super init]; | ||||
|   __title = [title retain_stub]; | ||||
|   __title_isset = YES; | ||||
|   return self; | ||||
| } | ||||
|  | ||||
| - (id) initWithCoder: (NSCoder *) decoder | ||||
| { | ||||
|   self = [super init]; | ||||
|   if ([decoder containsValueForKey: @"title"]) | ||||
|   { | ||||
|     __title = [[decoder decodeObjectForKey: @"title"] retain_stub]; | ||||
|     __title_isset = YES; | ||||
|   } | ||||
|   return self; | ||||
| } | ||||
|  | ||||
| - (void) encodeWithCoder: (NSCoder *) encoder | ||||
| { | ||||
|   if (__title_isset) | ||||
|   { | ||||
|     [encoder encodeObject: __title forKey: @"title"]; | ||||
|   } | ||||
| } | ||||
|  | ||||
| - (NSUInteger) hash | ||||
| { | ||||
|   NSUInteger hash = 17; | ||||
|   hash = (hash * 31) ^ __title_isset ? 2654435761 : 0; | ||||
|   if (__title_isset) | ||||
|   { | ||||
|     hash = (hash * 31) ^ [__title hash]; | ||||
|   } | ||||
|   return hash; | ||||
| } | ||||
|  | ||||
| - (BOOL) isEqual: (id) anObject | ||||
| { | ||||
|   if (self == anObject) { | ||||
|     return YES; | ||||
|   } | ||||
|   if (![anObject isKindOfClass:[PullRequest class]]) { | ||||
|     return NO; | ||||
|   } | ||||
|   PullRequest *other = (PullRequest *)anObject; | ||||
|   if ((__title_isset != other->__title_isset) || | ||||
|       (__title_isset && ((__title || other->__title) && ![__title isEqual:other->__title]))) { | ||||
|     return NO; | ||||
|   } | ||||
|   return YES; | ||||
| } | ||||
|  | ||||
| - (void) dealloc | ||||
| { | ||||
|   [__title release_stub]; | ||||
|   [super dealloc_stub]; | ||||
| } | ||||
|  | ||||
| - (NSString *) title { | ||||
|   return [[__title retain_stub] autorelease_stub]; | ||||
| } | ||||
|  | ||||
| - (void) setTitle: (NSString *) title { | ||||
|   [title retain_stub]; | ||||
|   [__title release_stub]; | ||||
|   __title = title; | ||||
|   __title_isset = YES; | ||||
| } | ||||
|  | ||||
| - (BOOL) titleIsSet { | ||||
|   return __title_isset; | ||||
| } | ||||
|  | ||||
| - (void) unsetTitle { | ||||
|   [__title release_stub]; | ||||
|   __title = nil; | ||||
|   __title_isset = NO; | ||||
| } | ||||
|  | ||||
| - (void) read: (id <TProtocol>) inProtocol | ||||
| { | ||||
|   NSString * fieldName; | ||||
|   int fieldType; | ||||
|   int fieldID; | ||||
|  | ||||
|   [inProtocol readStructBeginReturningName: NULL]; | ||||
|   while (true) | ||||
|   { | ||||
|     [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID]; | ||||
|     if (fieldType == TType_STOP) {  | ||||
|       break; | ||||
|     } | ||||
|     switch (fieldID) | ||||
|     { | ||||
|       case 1: | ||||
|         if (fieldType == TType_STRING) { | ||||
|           NSString * fieldValue = [inProtocol readString]; | ||||
|           [self setTitle: fieldValue]; | ||||
|         } else {  | ||||
|           [TProtocolUtil skipType: fieldType onProtocol: inProtocol]; | ||||
|         } | ||||
|         break; | ||||
|       default: | ||||
|         [TProtocolUtil skipType: fieldType onProtocol: inProtocol]; | ||||
|         break; | ||||
|     } | ||||
|     [inProtocol readFieldEnd]; | ||||
|   } | ||||
|   [inProtocol readStructEnd]; | ||||
| } | ||||
|  | ||||
| - (void) write: (id <TProtocol>) outProtocol { | ||||
|   [outProtocol writeStructBeginWithName: @"PullRequest"]; | ||||
|   if (__title_isset) { | ||||
|     if (__title != nil) { | ||||
|       [outProtocol writeFieldBeginWithName: @"title" type: TType_STRING fieldID: 1]; | ||||
|       [outProtocol writeString: __title]; | ||||
|       [outProtocol writeFieldEnd]; | ||||
|     } | ||||
|   } | ||||
|   [outProtocol writeFieldStop]; | ||||
|   [outProtocol writeStructEnd]; | ||||
| } | ||||
|  | ||||
| - (void) validate { | ||||
|   // check for required fields | ||||
| } | ||||
|  | ||||
| - (NSString *) description { | ||||
|   NSMutableString * ms = [NSMutableString stringWithString: @"PullRequest("]; | ||||
|   [ms appendString: @"title:"]; | ||||
|   [ms appendFormat: @"\"%@\"", __title]; | ||||
|   [ms appendString: @")"]; | ||||
|   return [NSString stringWithString: ms]; | ||||
| } | ||||
|  | ||||
| @end | ||||
|  | ||||
|  | ||||
| @implementation linguistConstants | ||||
| + (void) initialize { | ||||
| } | ||||
| @end | ||||
|  | ||||
							
								
								
									
										83
									
								
								samples/Python/gen-py-linguist-thrift.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								samples/Python/gen-py-linguist-thrift.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | ||||
| # | ||||
| # Autogenerated by Thrift Compiler (1.0.0-dev) | ||||
| # | ||||
| # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||
| # | ||||
| #  options string: py | ||||
| # | ||||
|  | ||||
| from thrift.Thrift import TType, TMessageType, TException, TApplicationException | ||||
|  | ||||
| from thrift.transport import TTransport | ||||
| from thrift.protocol import TBinaryProtocol, TProtocol | ||||
| try: | ||||
|   from thrift.protocol import fastbinary | ||||
| except: | ||||
|   fastbinary = None | ||||
|  | ||||
|  | ||||
|  | ||||
| class PullRequest: | ||||
|   """ | ||||
|   Attributes: | ||||
|    - title | ||||
|   """ | ||||
|  | ||||
|   thrift_spec = ( | ||||
|     None, # 0 | ||||
|     (1, TType.STRING, 'title', None, None, ), # 1 | ||||
|   ) | ||||
|  | ||||
|   def __init__(self, title=None,): | ||||
|     self.title = title | ||||
|  | ||||
|   def read(self, iprot): | ||||
|     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: | ||||
|       fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) | ||||
|       return | ||||
|     iprot.readStructBegin() | ||||
|     while True: | ||||
|       (fname, ftype, fid) = iprot.readFieldBegin() | ||||
|       if ftype == TType.STOP: | ||||
|         break | ||||
|       if fid == 1: | ||||
|         if ftype == TType.STRING: | ||||
|           self.title = iprot.readString() | ||||
|         else: | ||||
|           iprot.skip(ftype) | ||||
|       else: | ||||
|         iprot.skip(ftype) | ||||
|       iprot.readFieldEnd() | ||||
|     iprot.readStructEnd() | ||||
|  | ||||
|   def write(self, oprot): | ||||
|     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: | ||||
|       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) | ||||
|       return | ||||
|     oprot.writeStructBegin('PullRequest') | ||||
|     if self.title is not None: | ||||
|       oprot.writeFieldBegin('title', TType.STRING, 1) | ||||
|       oprot.writeString(self.title) | ||||
|       oprot.writeFieldEnd() | ||||
|     oprot.writeFieldStop() | ||||
|     oprot.writeStructEnd() | ||||
|  | ||||
|   def validate(self): | ||||
|     return | ||||
|  | ||||
|  | ||||
|   def __hash__(self): | ||||
|     value = 17 | ||||
|     value = (value * 31) ^ hash(self.title) | ||||
|     return value | ||||
|  | ||||
|   def __repr__(self): | ||||
|     L = ['%s=%r' % (key, value) | ||||
|       for key, value in self.__dict__.iteritems()] | ||||
|     return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) | ||||
|  | ||||
|   def __eq__(self, other): | ||||
|     return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ | ||||
|  | ||||
|   def __ne__(self, other): | ||||
|     return not (self == other) | ||||
							
								
								
									
										9
									
								
								samples/Ruby/gen-rb-linguist-thrift.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								samples/Ruby/gen-rb-linguist-thrift.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| # | ||||
| # Autogenerated by Thrift Compiler (1.0.0-dev) | ||||
| # | ||||
| # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||
| # | ||||
|  | ||||
| require 'thrift' | ||||
| require 'linguist_types' | ||||
|  | ||||
							
								
								
									
										5
									
								
								samples/Thrift/linguist.thrift
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								samples/Thrift/linguist.thrift
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| struct PullRequest { | ||||
|   1: string title | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -218,6 +218,14 @@ class TestBlob < Minitest::Test | ||||
|     assert sample_blob("Python/protocol_buffer_pb2.py").generated? | ||||
|     assert sample_blob("Go/api.pb.go").generated? | ||||
|  | ||||
|     # Apache Thrift generated code | ||||
|     assert sample_blob("Python/gen-py-linguist-thrift.py").generated? | ||||
|     assert sample_blob("Go/gen-go-linguist-thrift.go").generated? | ||||
|     assert sample_blob("Java/gen-java-linguist-thrift.java").generated? | ||||
|     assert sample_blob("JavaScript/gen-js-linguist-thrift.js").generated? | ||||
|     assert sample_blob("Ruby/gen-rb-linguist-thrift.rb").generated? | ||||
|     assert sample_blob("Objective-C/gen-cocoa-linguist-thrift.m").generated? | ||||
|  | ||||
|     # Generated JNI | ||||
|     assert sample_blob("C/jni_layer.h").generated? | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user