summaryrefslogtreecommitdiff
path: root/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains
diff options
context:
space:
mode:
Diffstat (limited to 'platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains')
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/BoxableType.java1
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ClassScope.java4
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/DomainGenerator.java21
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/Generator.java83
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java63
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/MemberScope.java2
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/MyCreateStandaloneTypeBindingVisitorBase.java4
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/OutputClassScope.java19
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ParserRootInterfaceItem.java2
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ResolveAndGenerateScope.java2
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/TypeData.java47
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/TypeDescriptor.java (renamed from platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/QualifiedTypeData.java)25
12 files changed, 110 insertions, 163 deletions
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/BoxableType.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/BoxableType.java
index 8c7175962c76..3f4b8ea839ac 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/BoxableType.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/BoxableType.java
@@ -2,6 +2,7 @@ package org.jetbrains.protocolReader;
abstract class BoxableType {
static final BoxableType STRING = new StandaloneType(new NamePath("String"), "writeString");
+ static final BoxableType ANY_STRING = new StandaloneType(new NamePath("String"), "writeString");
static final BoxableType INT = new StandaloneType(new NamePath("int"), "writeInt");
static final BoxableType LONG = new StandaloneType(new NamePath("long"), "writeLong");
static final BoxableType NUMBER = new StandaloneType(new NamePath("double"), "writeDouble");
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ClassScope.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ClassScope.java
index 6b27866492a4..31ba16f3438c 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ClassScope.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ClassScope.java
@@ -20,10 +20,6 @@ abstract class ClassScope {
return contextNamespace.getLastComponent();
}
- String getFullName() {
- return contextNamespace.getFullText();
- }
-
NamePath getClassContextNamespace() {
return contextNamespace;
}
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/DomainGenerator.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/DomainGenerator.java
index b74c73e28e1a..6798629e835c 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/DomainGenerator.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/DomainGenerator.java
@@ -153,7 +153,7 @@ class DomainGenerator {
}
@Override
- public <T extends ItemDescriptor> QualifiedTypeData resolveType(T typedObject) {
+ public <T extends ItemDescriptor> TypeDescriptor resolveType(T typedObject) {
throw new UnsupportedOperationException();
}
@@ -162,8 +162,7 @@ class DomainGenerator {
throw new UnsupportedOperationException();
}
};
- QualifiedTypeData itemTypeData = generator.resolveType(items, resolveAndGenerateScope);
- BoxableType itemBoxableType = itemTypeData.getJavaType();
+ BoxableType itemBoxableType = generator.resolveType(items, resolveAndGenerateScope).getType();
final BoxableType arrayType = new ListType(itemBoxableType);
StandaloneTypeBinding.Target target = new StandaloneTypeBinding.Target() {
@@ -178,7 +177,7 @@ class DomainGenerator {
});
}
- StandaloneTypeBinding createStandaloneObjectInputTypeBinding(final ProtocolMetaModel.StandaloneType type, final List<ProtocolMetaModel.ObjectProperty> properties) {
+ StandaloneTypeBinding createStandaloneObjectInputTypeBinding(@NotNull final ProtocolMetaModel.StandaloneType type, @Nullable final List<ProtocolMetaModel.ObjectProperty> properties) {
final String name = type.id();
final NamePath fullTypeName = generator.getNaming().inputValue.getFullName(domain.domain(), name);
generator.jsonProtocolParserClassNames.add(fullTypeName.getFullText());
@@ -198,10 +197,12 @@ class DomainGenerator {
out.doc(type.description());
}
- out.append("@org.chromium.protocolReader.JsonType").newLine();
+ out.append("@org.jetbrains.jsonProtocol.JsonType").newLine();
out.append("public interface ").append(className.getLastComponent()).openBlock();
InputClassScope classScope = new InputClassScope(DomainGenerator.this, className);
- classScope.generateStandaloneTypeBody(out, properties);
+ if (properties != null) {
+ classScope.generateDeclarationBody(out, properties);
+ }
classScope.writeAdditionalMembers(out);
out.closeBlock();
fileUpdater.update();
@@ -309,16 +310,18 @@ class DomainGenerator {
fileUpdater.update();
}
- private void generateJsonProtocolInterface(TextOutput out, String className, String description, List<ProtocolMetaModel.Parameter> parameters, TextOutConsumer additionalMembersText) throws IOException {
+ private void generateJsonProtocolInterface(TextOutput out, String className, String description, List<ProtocolMetaModel.Parameter> parameters, TextOutConsumer additionalMembersText) {
if (description != null) {
out.doc(description);
}
- out.append("@org.chromium.protocolReader.JsonType").newLine().append("public interface ").append(className).openBlock();
+ out.append("@org.jetbrains.jsonProtocol.JsonType").newLine().append("public interface ").append(className).openBlock();
InputClassScope classScope = new InputClassScope(this, new NamePath(className, new NamePath(ClassNameScheme.getPackageName(generator.getNaming().inputPackage, domain.domain()))));
if (additionalMembersText != null) {
classScope.addMember(additionalMembersText);
}
- classScope.generateMainJsonProtocolInterfaceBody(out, parameters);
+ if (parameters != null) {
+ classScope.generateDeclarationBody(out, parameters);
+ }
classScope.writeAdditionalMembers(out);
out.closeBlock();
}
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/Generator.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/Generator.java
index e545f0280f81..b02905ad51ad 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/Generator.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/Generator.java
@@ -114,92 +114,61 @@ class Generator {
fileSet.deleteOtherFiles();
}
- QualifiedTypeData resolveType(final ItemDescriptor typedObject, final ResolveAndGenerateScope scope) {
- UnqualifiedTypeData unqualifiedType = switchByType(typedObject, new TypeVisitor<UnqualifiedTypeData>() {
+ TypeDescriptor resolveType(@NotNull final ItemDescriptor typedObject, @NotNull final ResolveAndGenerateScope scope) {
+ final boolean optional = typedObject instanceof ItemDescriptor.Named && ((ItemDescriptor.Named)typedObject).optional();
+ return switchByType(typedObject, new TypeVisitor<TypeDescriptor>() {
@Override
- public UnqualifiedTypeData visitRef(String refName) {
- return new UnqualifiedTypeData(resolveRefType(scope.getDomainName(), refName, scope.getTypeDirection()));
+ public TypeDescriptor visitRef(String refName) {
+ return new TypeDescriptor(resolveRefType(scope.getDomainName(), refName, scope.getTypeDirection()), optional);
}
@Override
- public UnqualifiedTypeData visitBoolean() {
- return UnqualifiedTypeData.BOOLEAN;
+ public TypeDescriptor visitBoolean() {
+ return new TypeDescriptor(BoxableType.BOOLEAN, optional);
}
@Override
- public UnqualifiedTypeData visitEnum(List<String> enumConstants) {
+ public TypeDescriptor visitEnum(List<String> enumConstants) {
assert scope instanceof MemberScope;
- return new UnqualifiedTypeData(((MemberScope)scope).generateEnum(typedObject.description(), enumConstants));
+ return new TypeDescriptor(((MemberScope)scope).generateEnum(typedObject.description(), enumConstants), optional);
}
@Override
- public UnqualifiedTypeData visitString() {
- return UnqualifiedTypeData.STRING;
+ public TypeDescriptor visitString() {
+ return new TypeDescriptor(BoxableType.STRING, optional);
}
@Override
- public UnqualifiedTypeData visitInteger() {
- return UnqualifiedTypeData.INT;
+ public TypeDescriptor visitInteger() {
+ return new TypeDescriptor(BoxableType.INT, optional);
}
@Override
- public UnqualifiedTypeData visitNumber() {
- return UnqualifiedTypeData.NUMBER;
+ public TypeDescriptor visitNumber() {
+ return new TypeDescriptor(BoxableType.NUMBER, optional);
}
@Override
- public UnqualifiedTypeData visitMap() {
- return UnqualifiedTypeData.MAP;
+ public TypeDescriptor visitMap() {
+ return new TypeDescriptor(BoxableType.MAP, optional);
}
@Override
- public UnqualifiedTypeData visitArray(ArrayItemType items) {
- return new UnqualifiedTypeData(new ListType(scope.resolveType(items).getJavaType()));
+ public TypeDescriptor visitArray(ArrayItemType items) {
+ BoxableType type = scope.resolveType(items).getType();
+ return new TypeDescriptor(new ListType(type), optional, false, type == BoxableType.ANY_STRING);
}
@Override
- public UnqualifiedTypeData visitObject(List<ObjectProperty> properties) {
- return new UnqualifiedTypeData(scope.generateNestedObject(typedObject.description(), properties), false);
+ public TypeDescriptor visitObject(List<ObjectProperty> properties) {
+ return new TypeDescriptor(scope.generateNestedObject(typedObject.description(), properties), optional);
}
@Override
- public UnqualifiedTypeData visitUnknown() {
- return UnqualifiedTypeData.ANY;
+ public TypeDescriptor visitUnknown() {
+ return new TypeDescriptor(BoxableType.STRING, optional, false, true);
}
});
-
- return unqualifiedType.getQualifiedType(typedObject instanceof ItemDescriptor.Named && ((ItemDescriptor.Named)typedObject).optional());
- }
-
- private static class UnqualifiedTypeData {
- private final BoxableType typeRef;
- private final boolean nullable;
- private final boolean asRawString;
-
- UnqualifiedTypeData(BoxableType typeRef) {
- this(typeRef, false);
- }
-
- UnqualifiedTypeData(BoxableType typeRef, boolean nullable) {
- this(typeRef, nullable, false);
- }
-
- UnqualifiedTypeData(BoxableType typeRef, boolean nullable, boolean asRawString) {
- this.typeRef = typeRef;
- this.nullable = nullable;
- this.asRawString = asRawString;
- }
-
- QualifiedTypeData getQualifiedType(boolean optional) {
- return new QualifiedTypeData(typeRef, optional, nullable, asRawString);
- }
-
- static final UnqualifiedTypeData BOOLEAN = new UnqualifiedTypeData(BoxableType.BOOLEAN, false);
- static final UnqualifiedTypeData STRING = new UnqualifiedTypeData(BoxableType.STRING, false);
- static final UnqualifiedTypeData INT = new UnqualifiedTypeData(BoxableType.INT, false);
- static final UnqualifiedTypeData MAP = new UnqualifiedTypeData(BoxableType.MAP, false);
- static final UnqualifiedTypeData NUMBER = new UnqualifiedTypeData(BoxableType.NUMBER, false);
- static final UnqualifiedTypeData ANY = new UnqualifiedTypeData(BoxableType.STRING, false, true);
}
private void generateParserInterfaceList() throws IOException {
@@ -274,11 +243,11 @@ class Generator {
return typeMap.resolve(domainName, shortName, direction);
}
- static String generateMethodNameSubstitute(String originalName, TextOutput out) {
+ static String generateMethodNameSubstitute(@NotNull String originalName, @NotNull TextOutput out) {
if (!BAD_METHOD_NAMES.contains(originalName)) {
return originalName;
}
- out.append("@org.chromium.protocolReader.JsonField(jsonLiteralName=\"").append(originalName).append("\")").newLine();
+ out.append("@org.jetbrains.jsonProtocol.JsonField(jsonLiteralName=\"").append(originalName).append("\")").newLine();
return "get" + Character.toUpperCase(originalName.charAt(0)) + originalName.substring(1);
}
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java
index 9411f4d25db1..99c95d8f5ae3 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java
@@ -1,8 +1,9 @@
package org.jetbrains.protocolReader;
-import org.jetbrains.jsonProtocol.ProtocolMetaModel;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.jsonProtocol.ItemDescriptor.Named;
+import org.jetbrains.jsonProtocol.ProtocolMetaModel.ObjectProperty;
-import java.io.IOException;
import java.util.List;
class InputClassScope extends ClassScope {
@@ -10,36 +11,20 @@ class InputClassScope extends ClassScope {
super(generator, namePath);
}
- public void generateMainJsonProtocolInterfaceBody(TextOutput out, List<ProtocolMetaModel.Parameter> parameters) throws IOException {
- if (parameters != null) {
- for (ProtocolMetaModel.Parameter parameter : parameters) {
- if (parameter.description() != null) {
- out.doc(parameter.description());
- }
-
- String methodName = Generator.generateMethodNameSubstitute(getName(parameter), out);
- QualifiedTypeData paramTypeData = newMemberScope(getName(parameter)).resolveType(parameter);
- paramTypeData.writeAnnotations(out);
- out.append(paramTypeData.getJavaType().getShortText(getClassContextNamespace())).space().append(methodName).append("();").newLine();
+ void generateDeclarationBody(@NotNull TextOutput out, @NotNull List<? extends Named> list) {
+ for (int i = 0, n = list.size(); i < n; i++) {
+ Named named = list.get(i);
+ if (named.description() != null) {
+ out.doc(named.description());
}
- }
- }
-
- void generateStandaloneTypeBody(TextOutput out, List<ProtocolMetaModel.ObjectProperty> properties) throws IOException {
- if (properties != null) {
- for (ProtocolMetaModel.ObjectProperty objectProperty : properties) {
- String propertyName = getName(objectProperty);
- if (objectProperty.description() != null) {
- out.doc(objectProperty.description());
- }
-
- String methodName = Generator.generateMethodNameSubstitute(propertyName, out);
- MemberScope memberScope = newMemberScope(propertyName);
- QualifiedTypeData propertyTypeData = memberScope.resolveType(objectProperty);
- propertyTypeData.writeAnnotations(out);
-
- out.append(propertyTypeData.getJavaType().getShortText(getClassContextNamespace()) + ' ' + methodName + "();").newLine();
+ String name = getName(named);
+ String declarationName = Generator.generateMethodNameSubstitute(name, out);
+ TypeDescriptor typeDescriptor = new InputMemberScope(name).resolveType(named);
+ typeDescriptor.writeAnnotations(out);
+ out.append(typeDescriptor.getType().getShortText(getClassContextNamespace())).space().append(declarationName).append("();");
+ if (i != (n - 1)) {
+ out.newLine().newLine();
}
}
}
@@ -49,10 +34,6 @@ class InputClassScope extends ClassScope {
return TypeData.Direction.INPUT;
}
- private MemberScope newMemberScope(String memberName) {
- return new InputMemberScope(memberName);
- }
-
class InputMemberScope extends MemberScope {
InputMemberScope(String memberName) {
super(InputClassScope.this, memberName);
@@ -72,28 +53,28 @@ class InputClassScope extends ClassScope {
}
@Override
- public BoxableType generateNestedObject(final String description, final List<ProtocolMetaModel.ObjectProperty> propertyList) {
+ public BoxableType generateNestedObject(final String description, final List<ObjectProperty> propertyList) {
final String objectName = Generator.capitalizeFirstChar(getMemberName());
addMember(new TextOutConsumer() {
@Override
public void append(TextOutput out) {
out.newLine().doc(description);
if (propertyList == null) {
- out.append("@org.chromium.protocolReader.JsonType(allowsOtherProperties=true)").newLine();
+ out.append("@org.jetbrains.jsonProtocol.JsonType(allowsOtherProperties=true)").newLine();
out.append("public interface ").append(objectName).append(" extends org.jetbrains.jsonProtocol.JsonObjectBased").openBlock();
}
else {
- out.append("@org.chromium.protocolReader.JsonType").newLine();
+ out.append("@org.jetbrains.jsonProtocol.JsonType").newLine();
out.append("public interface ").append(objectName).openBlock();
- for (ProtocolMetaModel.ObjectProperty property : propertyList) {
+ for (ObjectProperty property : propertyList) {
out.doc(property.description());
String methodName = Generator.generateMethodNameSubstitute(getName(property), out);
- MemberScope memberScope = newMemberScope(getName(property));
- QualifiedTypeData propertyTypeData = memberScope.resolveType(property);
+ MemberScope memberScope = new InputMemberScope(getName(property));
+ TypeDescriptor propertyTypeData = memberScope.resolveType(property);
propertyTypeData.writeAnnotations(out);
- out.append(propertyTypeData.getJavaType().getShortText(getClassContextNamespace()) + ' ' + methodName + "();").newLine();
+ out.append(propertyTypeData.getType().getShortText(getClassContextNamespace()) + ' ' + methodName + "();").newLine();
}
}
out.closeBlock();
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/MemberScope.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/MemberScope.java
index 21de2ca3b228..78a83a9127ca 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/MemberScope.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/MemberScope.java
@@ -19,7 +19,7 @@ abstract class MemberScope implements ResolveAndGenerateScope {
}
@Override
- public <T extends ItemDescriptor> QualifiedTypeData resolveType(T typedObject) {
+ public <T extends ItemDescriptor> TypeDescriptor resolveType(T typedObject) {
return classScope.generator.generator.resolveType(typedObject, this);
}
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/MyCreateStandaloneTypeBindingVisitorBase.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/MyCreateStandaloneTypeBindingVisitorBase.java
index e867bf924eaa..90b7068e8cb5 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/MyCreateStandaloneTypeBindingVisitorBase.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/MyCreateStandaloneTypeBindingVisitorBase.java
@@ -60,7 +60,7 @@ class MyCreateStandaloneTypeBindingVisitorBase extends CreateStandaloneTypeBindi
}
@Override
- public <T extends ItemDescriptor> QualifiedTypeData resolveType(T typedObject) {
+ public <T extends ItemDescriptor> TypeDescriptor resolveType(T typedObject) {
throw new UnsupportedOperationException();
}
@@ -68,7 +68,7 @@ class MyCreateStandaloneTypeBindingVisitorBase extends CreateStandaloneTypeBindi
public BoxableType generateNestedObject(String description, List<ProtocolMetaModel.ObjectProperty> properties) {
return context.generateNestedObject("Item", description, properties);
}
- }).getJavaType());
+ }).getType());
}
}, generator.generator.getNaming().outputTypedef, TypeData.Direction.OUTPUT);
}
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/OutputClassScope.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/OutputClassScope.java
index fa7f4f18740f..f88a55d7a039 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/OutputClassScope.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/OutputClassScope.java
@@ -19,8 +19,8 @@ class OutputClassScope extends ClassScope {
return;
}
- List<P> mandatoryParameters = new ArrayList<P>();
- List<P> optionalParameters = new ArrayList<P>();
+ List<P> mandatoryParameters = new ArrayList<>();
+ List<P> optionalParameters = new ArrayList<>();
for (P parameter : parameters) {
if (parameter.optional()) {
optionalParameters.add(parameter);
@@ -34,8 +34,8 @@ class OutputClassScope extends ClassScope {
generateConstructor(out, mandatoryParameters, null);
if (mandatoryParameters.size() == 1) {
P parameter = mandatoryParameters.get(0);
- QualifiedTypeData typeData = new OutputMemberScope(getName(parameter)).resolveType(parameter);
- if (typeData.getJavaType().getFullText().equals("int[]")) {
+ TypeDescriptor typeData = new OutputMemberScope(getName(parameter)).resolveType(parameter);
+ if (typeData.getType().getFullText().equals("int[]")) {
BoxableType[] types = new BoxableType[mandatoryParameters.size()];
types[0] = new ListType(BoxableType.INT) {
@Override
@@ -94,7 +94,7 @@ class OutputClassScope extends ClassScope {
out.append("/**").newLine().append(" * @param v ").append(parameter.description()).newLine().append(" */").newLine();
}
- CharSequence type = new OutputMemberScope(parameter.name()).resolveType(parameter).getJavaType().getShortText(getClassContextNamespace());
+ CharSequence type = new OutputMemberScope(parameter.name()).resolveType(parameter).getType().getShortText(getClassContextNamespace());
if (type.equals(JsonReaderEx.class.getCanonicalName())) {
type = "String";
}
@@ -131,9 +131,10 @@ class OutputClassScope extends ClassScope {
mandatoryParameterTypes = new BoxableType[mandatoryParameters.size()];
}
for (int i = 0, length = mandatoryParameterTypes.length; i < length; i++) {
+ assert mandatoryParameterTypes != null;
if (mandatoryParameterTypes[i] == null) {
P parameter = mandatoryParameters.get(i);
- mandatoryParameterTypes[i] = new OutputMemberScope(parameter.name()).resolveType(parameter).getJavaType();
+ mandatoryParameterTypes[i] = new OutputMemberScope(parameter.name()).resolveType(parameter).getType();
}
}
@@ -144,6 +145,7 @@ class OutputClassScope extends ClassScope {
out.comma();
}
+ assert mandatoryParameterTypes != null;
out.append(mandatoryParameterTypes[i].getShortText(getClassContextNamespace()));
out.space().append(parameter.name());
needComa = true;
@@ -152,6 +154,7 @@ class OutputClassScope extends ClassScope {
for (int i = 0, size = mandatoryParameters.size(); i < size; i++) {
P parameter = mandatoryParameters.get(i);
out.newLine();
+ assert mandatoryParameterTypes != null;
appendWriteValueInvocation(out, parameter, parameter.name(), mandatoryParameterTypes[i]);
}
out.closeBlock();
@@ -159,7 +162,7 @@ class OutputClassScope extends ClassScope {
private void appendWriteValueInvocation(TextOutput out, ItemDescriptor.Named parameter, String valueRefName, @Nullable BoxableType type) {
if (type == null) {
- type = new OutputMemberScope(parameter.name()).resolveType(parameter).getJavaType();
+ type = new OutputMemberScope(parameter.name()).resolveType(parameter).getType();
}
boolean blockOpened = false;
@@ -188,7 +191,7 @@ class OutputClassScope extends ClassScope {
}
// todo CallArgument (we should allow write null as value)
out.append(parameter.name().equals("value") && type.getWriteMethodName().equals("writeString") ? "writeNullableString" : type.getWriteMethodName()).append("(");
- out.quoute(parameter.name()).comma().append(valueRefName).append(");");
+ out.quote(parameter.name()).comma().append(valueRefName).append(");");
if (blockOpened) {
out.closeBlock();
}
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ParserRootInterfaceItem.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ParserRootInterfaceItem.java
index e3e8049c1b6d..e84c641ff9c3 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ParserRootInterfaceItem.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ParserRootInterfaceItem.java
@@ -18,7 +18,7 @@ class ParserRootInterfaceItem implements Comparable<ParserRootInterfaceItem> {
}
void writeCode(TextOutput out) throws IOException {
- out.append("@org.chromium.protocolReader.JsonParseMethod").newLine();
+ out.append("@org.jetbrains.jsonProtocol.JsonParseMethod").newLine();
out.append("public abstract ").append(fullName).space();
appendReadMethodName(out);
out.append("(").append(Util.JSON_READER_PARAMETER_DEF).append(")").semi().newLine();
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ResolveAndGenerateScope.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ResolveAndGenerateScope.java
index 8f117d02ab95..c43c9ff7deff 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ResolveAndGenerateScope.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/ResolveAndGenerateScope.java
@@ -9,7 +9,7 @@ interface ResolveAndGenerateScope {
String getDomainName();
TypeData.Direction getTypeDirection();
- <T extends ItemDescriptor> QualifiedTypeData resolveType(T typedObject);
+ <T extends ItemDescriptor> TypeDescriptor resolveType(T typedObject);
BoxableType generateNestedObject(String description,
List<ProtocolMetaModel.ObjectProperty> properties);
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/TypeData.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/TypeData.java
index 0ab11a07c352..7fbc5f6c2cad 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/TypeData.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/TypeData.java
@@ -4,6 +4,21 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.jsonProtocol.ProtocolMetaModel;
class TypeData {
+ public static final StandaloneTypeBinding ANY = new StandaloneTypeBinding() {
+ @Override
+ public BoxableType getJavaType() {
+ return BoxableType.ANY_STRING;
+ }
+
+ @Override
+ public void generate() {
+ }
+
+ @Override
+ public Direction getDirection() {
+ return null;
+ }
+ };
private final String name;
private Input input;
@@ -119,21 +134,7 @@ class TypeData {
};
}
else if (name.equals("any")) {
- return new StandaloneTypeBinding() {
- @Override
- public BoxableType getJavaType() {
- return BoxableType.STRING;
- }
-
- @Override
- public void generate() {
- }
-
- @Override
- public Direction getDirection() {
- return null;
- }
- };
+ return ANY;
}
throw new RuntimeException();
@@ -164,21 +165,7 @@ class TypeData {
};
}
else if (name.equals("any")) {
- return new StandaloneTypeBinding() {
- @Override
- public BoxableType getJavaType() {
- return BoxableType.STRING;
- }
-
- @Override
- public void generate() {
- }
-
- @Override
- public Direction getDirection() {
- return null;
- }
- };
+ return ANY;
}
throw new RuntimeException();
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/QualifiedTypeData.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/TypeDescriptor.java
index a4ccd0b3c49f..d142e8bdf6d5 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/QualifiedTypeData.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/TypeDescriptor.java
@@ -1,13 +1,19 @@
package org.jetbrains.protocolReader;
-class QualifiedTypeData {
- private final BoxableType typeRef;
+import org.jetbrains.annotations.NotNull;
+
+class TypeDescriptor {
+ private final BoxableType type;
private final boolean optional;
private final boolean nullable;
private final boolean asRawString;
- QualifiedTypeData(BoxableType typeRef, boolean optional, boolean nullable, boolean asRawString) {
- this.typeRef = typeRef;
+ TypeDescriptor(@NotNull BoxableType type, boolean optional) {
+ this(type, optional, false, false);
+ }
+
+ TypeDescriptor(@NotNull BoxableType type, boolean optional, boolean nullable, boolean asRawString) {
+ this.type = type;
this.optional = optional;
this.nullable = nullable;
this.asRawString = asRawString;
@@ -17,13 +23,14 @@ class QualifiedTypeData {
return nullable;
}
- BoxableType getJavaType() {
- return typeRef;
+ @NotNull
+ BoxableType getType() {
+ return type;
}
- void writeAnnotations(TextOutput out) {
+ void writeAnnotations(@NotNull TextOutput out) {
if (optional || asRawString) {
- out.append("@org.chromium.protocolReader.JsonField(");
+ out.append("@org.jetbrains.jsonProtocol.JsonField(");
if (optional) {
out.append("optional=true");
}
@@ -37,7 +44,7 @@ class QualifiedTypeData {
}
if (isNullable()) {
- out.append("@org.chromium.protocolReader.JsonNullable").newLine();
+ out.append("@org.jetbrains.jsonProtocol.JsonNullable").newLine();
}
}
}