Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
protobuf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
protobuf
Commits
38abec80
Unverified
Commit
38abec80
authored
Dec 14, 2018
by
Joshua Haberman
Committed by
GitHub
Dec 14, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #5469 from haberman/objc
ObjC compiler changes to allow for easier import
parents
e9ea200e
5eb34cd7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
30 deletions
+31
-30
objectivec_helpers.cc
...google/protobuf/compiler/objectivec/objectivec_helpers.cc
+30
-29
objectivec_helpers.h
src/google/protobuf/compiler/objectivec/objectivec_helpers.h
+1
-1
No files found.
src/google/protobuf/compiler/objectivec/objectivec_helpers.cc
View file @
38abec80
...
...
@@ -48,9 +48,9 @@
#include <google/protobuf/io/printer.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
#include <google/protobuf/stubs/io_win32.h>
#include <google/protobuf/stubs/port.h>
#include <google/protobuf/stubs/strutil.h>
// NOTE: src/google/protobuf/compiler/plugin.cc makes use of cerr for some
// error cases, so it seems to be ok to use as a back door for errors.
...
...
@@ -364,7 +364,7 @@ string StripProto(const string& filename) {
}
}
void
StringPiece
TrimWhitespace
(
StringPiece
*
input
)
{
void
TrimWhitespace
(
StringPiece
*
input
)
{
while
(
!
input
->
empty
()
&&
ascii_isspace
(
*
input
->
data
()))
{
input
->
remove_prefix
(
1
);
}
...
...
@@ -659,7 +659,7 @@ string GetCapitalizedType(const FieldDescriptor* field) {
// Some compilers report reaching end of function even though all cases of
// the enum are handed in the switch.
GOOGLE_LOG
(
FATAL
)
<<
"Can't get here."
;
return
NULL
;
return
string
()
;
}
ObjectiveCType
GetObjectiveCType
(
FieldDescriptor
::
Type
field_type
)
{
...
...
@@ -787,7 +787,7 @@ string GPBGenericValueFieldName(const FieldDescriptor* field) {
// Some compilers report reaching end of function even though all cases of
// the enum are handed in the switch.
GOOGLE_LOG
(
FATAL
)
<<
"Can't get here."
;
return
NULL
;
return
string
()
;
}
...
...
@@ -859,7 +859,7 @@ string DefaultValue(const FieldDescriptor* field) {
// Some compilers report reaching end of function even though all cases of
// the enum are handed in the switch.
GOOGLE_LOG
(
FATAL
)
<<
"Can't get here."
;
return
NULL
;
return
string
()
;
}
bool
HasNonZeroDefaultValue
(
const
FieldDescriptor
*
field
)
{
...
...
@@ -1047,18 +1047,17 @@ bool ExpectedPrefixesCollector::ConsumeLine(
const
StringPiece
&
line
,
string
*
out_error
)
{
int
offset
=
line
.
find
(
'='
);
if
(
offset
==
StringPiece
::
npos
)
{
*
out_error
=
string
(
"Expected prefixes file line without equal sign: '"
)
+
line
.
ToString
()
+
"'."
;
*
out_error
=
string
(
"Expected prefixes file line without equal sign: '"
)
+
string
(
line
)
+
"'."
;
return
false
;
}
StringPiece
package
(
line
,
0
,
offset
);
StringPiece
prefix
(
line
,
offset
+
1
,
line
.
length
()
-
offset
-
1
);
StringPiece
TrimWhitespace
(
&
package
);
StringPiece
TrimWhitespace
(
&
prefix
);
StringPiece
package
=
line
.
substr
(
0
,
offset
);
StringPiece
prefix
=
line
.
substr
(
offset
+
1
);
TrimWhitespace
(
&
package
);
TrimWhitespace
(
&
prefix
);
// Don't really worry about error checking the package/prefix for
// being valid. Assume the file is validated when it is created/edited.
(
*
prefix_map_
)[
package
.
ToString
()]
=
prefix
.
ToString
(
);
(
*
prefix_map_
)[
string
(
package
)]
=
string
(
prefix
);
return
true
;
}
...
...
@@ -1474,7 +1473,7 @@ class Parser {
bool
Parser
::
ParseChunk
(
StringPiece
chunk
)
{
if
(
!
leftover_
.
empty
())
{
chunk
.
AppendToString
(
&
leftover_
);
leftover_
+=
string
(
chunk
);
p_
=
StringPiece
(
leftover_
);
}
else
{
p_
=
chunk
;
...
...
@@ -1483,7 +1482,7 @@ bool Parser::ParseChunk(StringPiece chunk) {
if
(
p_
.
empty
())
{
leftover_
.
clear
();
}
else
{
leftover_
=
p_
.
ToString
(
);
leftover_
=
string
(
p_
);
}
return
result
;
}
...
...
@@ -1506,7 +1505,7 @@ bool Parser::ParseLoop() {
while
(
ReadLine
(
&
p_
,
&
line
))
{
++
line_
;
RemoveComment
(
&
line
);
StringPiece
TrimWhitespace
(
&
line
);
TrimWhitespace
(
&
line
);
if
(
line
.
size
()
==
0
)
{
continue
;
// Blank line.
}
...
...
@@ -1693,12 +1692,12 @@ bool ImportWriter::ProtoFrameworkCollector::ConsumeLine(
if
(
offset
==
StringPiece
::
npos
)
{
*
out_error
=
string
(
"Framework/proto file mapping line without colon sign: '"
)
+
line
.
ToString
(
)
+
"'."
;
string
(
line
)
+
"'."
;
return
false
;
}
StringPiece
framework_name
(
line
,
0
,
offset
);
StringPiece
proto_file_list
(
line
,
offset
+
1
,
line
.
length
()
-
offset
-
1
);
StringPiece
TrimWhitespace
(
&
framework_name
);
StringPiece
framework_name
=
line
.
substr
(
0
,
offset
);
StringPiece
proto_file_list
=
line
.
substr
(
offset
+
1
);
TrimWhitespace
(
&
framework_name
);
int
start
=
0
;
while
(
start
<
proto_file_list
.
length
())
{
...
...
@@ -1707,25 +1706,27 @@ bool ImportWriter::ProtoFrameworkCollector::ConsumeLine(
offset
=
proto_file_list
.
length
();
}
StringPiece
proto_file
(
proto_file_list
,
start
,
offset
-
start
);
StringPiece
TrimWhitespace
(
&
proto_file
);
StringPiece
proto_file
=
proto_file_list
.
substr
(
start
,
offset
-
start
);
TrimWhitespace
(
&
proto_file
);
if
(
proto_file
.
size
()
!=
0
)
{
std
::
map
<
string
,
string
>::
iterator
existing_entry
=
map_
->
find
(
proto_file
.
ToString
(
));
map_
->
find
(
string
(
proto_file
));
if
(
existing_entry
!=
map_
->
end
())
{
std
::
cerr
<<
"warning: duplicate proto file reference, replacing framework entry for '"
<<
proto_file
.
ToString
()
<<
"' with '"
<<
framework_name
.
ToString
()
<<
"' (was '"
<<
existing_entry
->
second
<<
"')."
<<
std
::
endl
;
std
::
cerr
<<
"warning: duplicate proto file reference, replacing "
"framework entry for '"
<<
string
(
proto_file
)
<<
"' with '"
<<
string
(
framework_name
)
<<
"' (was '"
<<
existing_entry
->
second
<<
"')."
<<
std
::
endl
;
std
::
cerr
.
flush
();
}
if
(
proto_file
.
find
(
' '
)
!=
StringPiece
::
npos
)
{
std
::
cerr
<<
"note: framework mapping file had a proto file with a space in, hopefully that isn't a missing comma: '"
<<
proto_file
.
ToString
()
<<
"'"
<<
std
::
endl
;
std
::
cerr
<<
"note: framework mapping file had a proto file with a "
"space in, hopefully that isn't a missing comma: '"
<<
string
(
proto_file
)
<<
"'"
<<
std
::
endl
;
std
::
cerr
.
flush
();
}
(
*
map_
)[
proto_file
.
ToString
()]
=
framework_name
.
ToString
(
);
(
*
map_
)[
string
(
proto_file
)]
=
string
(
framework_name
);
}
start
=
offset
+
1
;
...
...
src/google/protobuf/compiler/objectivec/objectivec_helpers.h
View file @
38abec80
...
...
@@ -62,7 +62,7 @@ string PROTOC_EXPORT EscapeTrigraphs(const string& to_escape);
string
PROTOC_EXPORT
StripProto
(
const
string
&
filename
);
// Remove white space from either end of a StringPiece.
void
PROTOC_EXPORT
StringPiece
TrimWhitespace
(
StringPiece
*
input
);
void
PROTOC_EXPORT
TrimWhitespace
(
StringPiece
*
input
);
// Returns true if the name requires a ns_returns_not_retained attribute applied
// to it.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment