«
Previous
|
Next
»
Revision 12
Added by over 8 years ago
trunk/compiler/ooasCompiler/src/org/momut/ooas/visitors/OoaResolveExpressionsVisitor.java | ||
---|---|---|
import org.momut.ooas.ast.types.IntType;
|
||
import org.momut.ooas.ast.types.ListType;
|
||
import org.momut.ooas.ast.types.MapType;
|
||
import org.momut.ooas.ast.types.MetaType;
|
||
import org.momut.ooas.ast.types.NullType;
|
||
import org.momut.ooas.ast.types.OoActionSystemType;
|
||
import org.momut.ooas.ast.types.TupleType;
|
||
... | ... | |
{
|
||
if (!Type.TypeEqual(item.type(), type))
|
||
{
|
||
final Expression cast = new UnaryOperator(ExpressionKind.Cast, item, item.line(), item.pos());
|
||
cast.SetType(type);
|
||
newitems.add(cast);
|
||
// one exception: lists will not be cast. instead we descend into the inner-most lists and statically update their inner types
|
||
if(item.kind() == ExpressionKind.ListConstr)
|
||
{
|
||
item.Accept(new OoaStaticListCastVisitor((ListType) type));
|
||
item.SetType(type);
|
||
newitems.add(item);
|
||
}
|
||
else
|
||
{
|
||
final Expression cast = new UnaryOperator(ExpressionKind.Cast, item, item.line(), item.pos());
|
||
cast.SetType(type);
|
||
newitems.add(cast);
|
||
}
|
||
}
|
||
else
|
||
newitems.add(item);
|
||
... | ... | |
expression.SetLeftChild(lhs);
|
||
|
||
|
||
if (staticAccess) {
|
||
if (atype.kind() != TypeKind.MetaType)
|
||
return Error(access, "Expected meta type.");
|
||
atype = ((MetaType)atype).Type();
|
||
}
|
||
|
||
|
||
switch (atype.kind())
|
||
{
|
||
case OoActionSystemType:
|
||
... | ... | |
break;
|
||
default:
|
||
/*error, we can not access an element with '.' in any other type*/
|
||
return Error(expression, "Expected: System, Enum, Func, or QR type");
|
||
return Error(expression, "Expected: System, Enum, or Function");
|
||
}
|
||
|
||
expression.SetType(expression.right().type());
|
||
... | ... | |
if (lt.kind() != TypeKind.MapType)
|
||
return Error(expression, "Range restriction operator expects map on LHS");
|
||
if (rt.kind() != TypeKind.ListType)
|
||
return Error(expression, "Rangle restriction operator expects list on RHS");
|
||
return Error(expression, "Range restriction operator expects list on RHS");
|
||
final ListType rangelist = (ListType)rt;
|
||
domMap = (MapType)lt;
|
||
if (!Type.TypeEqual(rangelist.innerType(), domMap.fromType()))
|
||
... | ... | |
return lhs;
|
||
if (la.innerType().kind() == TypeKind.Null || la.maxNumberOfElements() == 0)
|
||
return rhs;
|
||
if (!Type.TypeEqual(la.innerType(), lb.innerType()))
|
||
return Error(expression, String.format("Set/List concatenation expects two lists of same type. (%s <> %s)", la.toString(), lb.toString()));
|
||
ListType resultList = new ListType(la.innerType(),
|
||
la.maxNumberOfElements() + lb.maxNumberOfElements(), null);
|
||
expression.SetType(resultList);
|
||
|
||
if (!Type.TypeEqual(la.innerType(), lb.innerType())) {
|
||
final ListType coverType = (ListType) Type.CoverType(la, lb);
|
||
if(coverType == null)
|
||
return Error(expression, String.format("Set/List concatenation expects two lists of same type. (%s <> %s)", la.toString(), lb.toString())); // FIXME adjust error message
|
||
|
||
if(!Type.TypeEqual(la, coverType))
|
||
lhs.Accept(new OoaStaticListCastVisitor(coverType));
|
||
if(!Type.TypeEqual(lb, coverType))
|
||
rhs.Accept(new OoaStaticListCastVisitor(coverType));
|
||
|
||
expression.SetType(new ListType(coverType.innerType(), la.maxNumberOfElements() + lb.maxNumberOfElements(), null));
|
||
} else
|
||
expression.SetType(new ListType(la.innerType(), la.maxNumberOfElements() + lb.maxNumberOfElements(), null));
|
||
|
||
break;
|
||
case diff: // list of A * list of A -> list of A (does not respect dupes)
|
||
if (lt.kind() != TypeKind.ListType ||
|
||
rt.kind() != TypeKind.ListType)
|
||
if (lt.kind() != TypeKind.ListType || rt.kind() != TypeKind.ListType)
|
||
return Error(expression, "Set difference expects two lists.");
|
||
la = (ListType)lt;
|
||
lb = (ListType)rt;
|
||
if (!Type.TypeEqual(la.innerType(), lb.innerType()))
|
||
return Error(expression, "Set difference expects two lists of same type.");
|
||
expression.SetType(la);
|
||
if (!Type.TypeEqual(la.innerType(), lb.innerType())) {
|
||
final ListType coverType = (ListType) Type.CoverType(la, lb);
|
||
if(coverType == null)
|
||
return Error(expression, "Set difference expects two lists of same type."); // FIXME adjust error message
|
||
|
||
if(!Type.TypeEqual(la, coverType))
|
||
lhs.Accept(new OoaStaticListCastVisitor(coverType));
|
||
if(!Type.TypeEqual(lb, coverType))
|
||
rhs.Accept(new OoaStaticListCastVisitor(coverType));
|
||
|
||
expression.SetType(coverType);
|
||
} else
|
||
expression.SetType(la);
|
||
break;
|
||
case inter: // list of A * list of A -> list of A (does not respect dupes)
|
||
if (lt.kind() != TypeKind.ListType ||
|
||
... | ... | |
return Error(expression, "Set intersection expects two lists.");
|
||
la = (ListType)lt;
|
||
lb = (ListType)rt;
|
||
if (!Type.TypeEqual(la.innerType(), lb.innerType()))
|
||
return Error(expression, "Set intersection expects two lists of same type.");
|
||
expression.SetType(la.maxNumberOfElements() > lb.maxNumberOfElements() ? la : lb);
|
||
if (!Type.TypeEqual(la.innerType(), lb.innerType())) {
|
||
final ListType coverType = (ListType) Type.CoverType(la, lb);
|
||
if(coverType == null)
|
||
return Error(expression, "Set intersection expects two lists of same type.");
|
||
if(!Type.TypeEqual(la, coverType))
|
||
lhs.Accept(new OoaStaticListCastVisitor(coverType));
|
||
if(!Type.TypeEqual(lb, coverType))
|
||
rhs.Accept(new OoaStaticListCastVisitor(coverType));
|
||
expression.SetType(coverType);
|
||
} else
|
||
expression.SetType(la.maxNumberOfElements() > lb.maxNumberOfElements() ? la : lb);
|
||
break;
|
||
case elemin: // A * list of A -> bool
|
||
case notelemin: // A * list of A -> bool
|
||
... | ... | |
expression.SetType(new BoolType(null));
|
||
break;
|
||
case subset: // list of A * list of A -> bool (does not respect dupes)
|
||
if (lt.kind() != TypeKind.ListType ||
|
||
rt.kind() != TypeKind.ListType)
|
||
if (lt.kind() != TypeKind.ListType || rt.kind() != TypeKind.ListType)
|
||
return Error(expression, "Subset operation expects two lists.");
|
||
la = (ListType)lt;
|
||
lb = (ListType)rt;
|
||
if (!Type.TypeEqual(la.innerType(), lb.innerType()))
|
||
return Error(expression, "Subset operation expects two lists of same type.");
|
||
if (!Type.TypeEqual(la.innerType(), lb.innerType())) {
|
||
final ListType coverType = (ListType) Type.CoverType(la, lb);
|
||
if(coverType == null)
|
||
return Error(expression, "Subset operation expects two lists of same type.");
|
||
|
||
if(!Type.TypeEqual(la, coverType))
|
||
lhs.Accept(new OoaStaticListCastVisitor(coverType));
|
||
if(!Type.TypeEqual(lb, coverType))
|
||
rhs.Accept(new OoaStaticListCastVisitor(coverType));
|
||
}
|
||
expression.SetType(new BoolType(null));
|
||
break;
|
||
case union: // list of A * list of A -> list of A (does not respect dupes)
|
||
... | ... | |
if (lb.innerType().kind() == TypeKind.Null || lb.maxNumberOfElements() == 0)
|
||
return lhs;
|
||
|
||
if (!Type.TypeEqual(la.innerType(), lb.innerType()))
|
||
return Error(expression, "Set union expects two lists of same type.");
|
||
resultList = new ListType(la.innerType(),
|
||
la.maxNumberOfElements() + lb.maxNumberOfElements(), null);
|
||
expression.SetType(resultList);
|
||
if (!Type.TypeEqual(la.innerType(), lb.innerType())) {
|
||
final ListType coverType = (ListType) Type.CoverType(la, lb);
|
||
if(coverType == null)
|
||
return Error(expression, "Set union expects two lists of same type.");
|
||
if(!Type.TypeEqual(la, coverType))
|
||
lhs.Accept(new OoaStaticListCastVisitor(coverType));
|
||
if(!Type.TypeEqual(lb, coverType))
|
||
rhs.Accept(new OoaStaticListCastVisitor(coverType));
|
||
|
||
expression.SetType(new ListType(coverType.innerType(), la.maxNumberOfElements() + lb.maxNumberOfElements(), null));
|
||
} else
|
||
expression.SetType(new ListType(la.innerType(), la.maxNumberOfElements() + lb.maxNumberOfElements(), null));
|
||
break;
|
||
|
||
/*numeric binary*/
|
||
... | ... | |
return Error(expression, "Free variables on both sides of the equality sign in tuple constructors.");
|
||
m_matcherList.remove(rhs);
|
||
}
|
||
|
||
/* This adds support for "equality-style assignments" in expressions. Not yet supported by the backend though :(
|
||
if (lhs.type().kind() == TypeKind.Any || rhs.type().kind() == TypeKind.Any)
|
||
{
|
||
if (lhs.type().kind() == TypeKind.Any && rhs.type().kind() == TypeKind.Any)
|
||
return Error(expression, "Free variables on both sides of equality sign.");
|
||
// free var - so set type and mark initialized
|
||
final AnyType freevar = lhs.type().kind() == TypeKind.Any ? (AnyType)lhs.type() : (AnyType)rhs.type();
|
||
freevar.VariableIdentifier().SetType(cover);
|
||
freevar.VariableIdentifier().SetInitialized(true);
|
||
lhs.SetType(cover);
|
||
}
|
||
*/
|
||
}
|
||
|
||
lhs = UnaryOperator.TryCoerceUp(lhs, cover);
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/Version.java | ||
---|---|---|
public class Version {
|
||
|
||
public static final String s_releaseMajor = "3";
|
||
public static final String s_releaseMinor = "0";
|
||
public static final String s_releaseMinor = "1";
|
||
|
||
public static String asString() {
|
||
return s_releaseMajor + "." + s_releaseMinor;
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/visitors/OoaTypeCheckVisitor.java | ||
---|---|---|
import org.momut.ooas.ast.statements.KillStatement;
|
||
import org.momut.ooas.ast.statements.Statement;
|
||
import org.momut.ooas.ast.types.FunctionType;
|
||
import org.momut.ooas.ast.types.ListType;
|
||
import org.momut.ooas.ast.types.TypeKind;
|
||
import org.momut.ooas.ast.types.Type;
|
||
import org.momut.ooas.parser.ParserError;
|
||
... | ... | |
Error(attributeIdentifier, String.format("Type mismatch in attribute initializer: %s ( %s := %s )", attributeIdentifier.toString(), idtype.toString(), acover.toString()));
|
||
else
|
||
{
|
||
final Expression constantvalue = attributeIdentifier.initializer().kind() == ExpressionKind.Value ? attributeIdentifier.initializer() : null;
|
||
|
||
if (!Type.TypeEqual(atype, acover))
|
||
{
|
||
final UnaryOperator cast = new UnaryOperator(ExpressionKind.Cast, attributeIdentifier.initializer(),
|
||
attributeIdentifier.initializer().line(), attributeIdentifier.initializer().pos());
|
||
cast.SetType(acover);
|
||
attributeIdentifier.SetInitializer(cast);
|
||
if(acover.kind() == TypeKind.ListType)
|
||
{
|
||
attributeIdentifier.initializer().Accept(new OoaStaticListCastVisitor((ListType) acover));
|
||
|
||
// now check whether the list lengths are ok
|
||
((ListType) atype).SetInnerType(((ListType) idtype).innerType());
|
||
final Type lengthCover = Type.CoverType(idtype, attributeIdentifier.initializer().type());
|
||
if (!Type.TypeEqual(atype, lengthCover)) {
|
||
final UnaryOperator cast = new UnaryOperator(ExpressionKind.Cast, attributeIdentifier.initializer(),
|
||
attributeIdentifier.initializer().line(), attributeIdentifier.initializer().pos());
|
||
cast.SetType(lengthCover);
|
||
attributeIdentifier.SetInitializer(cast);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
final UnaryOperator cast = new UnaryOperator(ExpressionKind.Cast, attributeIdentifier.initializer(),
|
||
attributeIdentifier.initializer().line(), attributeIdentifier.initializer().pos());
|
||
cast.SetType(acover);
|
||
attributeIdentifier.SetInitializer(cast);
|
||
}
|
||
}
|
||
|
||
if (Type.FirstTypeLessRange(idtype, acover))
|
||
{
|
||
final Expression constantvalue = attributeIdentifier.initializer().kind() == ExpressionKind.Value ? attributeIdentifier.initializer() : null;
|
||
if (constantvalue == null)
|
||
{
|
||
Warning(attributeIdentifier, String.format("Assignment may over/underflow: %s := %s", idtype.toString(), acover.toString()));
|
||
... | ... | |
}
|
||
}
|
||
}
|
||
|
||
/*
|
||
|
||
|
||
if (cover == null || !UlyssesType.TypeEqual(cover, idtype))
|
||
Error(attributeIdentifier,
|
||
String.Format("Type mismatch in attribute initializer: expected '%s', found '%s'",
|
||
idtype.ToString(), atype.ToString()));
|
||
else
|
||
attributeIdentifier.SetInitializer(UnaryOperator.CoerceUp(attributeIdentifier.initializer, idtype));
|
||
* */
|
||
}
|
||
}
|
||
}
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/ast/IAstVisitor.java | ||
---|---|---|
import org.momut.ooas.ast.types.IntType;
|
||
import org.momut.ooas.ast.types.ListType;
|
||
import org.momut.ooas.ast.types.MapType;
|
||
import org.momut.ooas.ast.types.MetaType;
|
||
import org.momut.ooas.ast.types.NullType;
|
||
import org.momut.ooas.ast.types.OoActionSystemType;
|
||
import org.momut.ooas.ast.types.OpaqueType;
|
||
... | ... | |
void visit(OpaqueType opaqueType);
|
||
void visit(AnyType anyType);
|
||
void visit(NullType nullType);
|
||
void visit(MetaType metaType);
|
||
|
||
void visit(BreakStatement breakStatement);
|
||
}
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/ast/expressions/TypeExpression.java | ||
---|---|---|
package org.momut.ooas.ast.expressions;
|
||
|
||
import org.momut.ooas.ast.IAstVisitor;
|
||
import org.momut.ooas.ast.types.MetaType;
|
||
import org.momut.ooas.ast.types.Type;
|
||
|
||
///////////////////////////////////////////////
|
||
... | ... | |
///
|
||
public class TypeExpression extends LeafExpression
|
||
{
|
||
protected Type m_referredType;
|
||
|
||
public Type referredType() {return m_referredType;}
|
||
// public void setReferredType(Type aType) {m_referredType = aType;}
|
||
|
||
public TypeExpression(Type atype, int line, int pos)
|
||
{
|
||
super (LeafTypeEnum.type, ExpressionKind.Type, line, pos);
|
||
m_type = atype;
|
||
m_type = new MetaType(atype);
|
||
m_referredType = atype;
|
||
}
|
||
|
||
public TypeExpression(TypeExpression toCopy)
|
||
{
|
||
super (toCopy);
|
||
m_referredType = toCopy.m_referredType;
|
||
}
|
||
|
||
@Override
|
||
public /*override*/ Expression Clone()
|
||
public Expression Clone()
|
||
{
|
||
return new TypeExpression(this);
|
||
}
|
||
|
||
public /*override*/ void Accept(IAstVisitor visitor)
|
||
@Override
|
||
public void Accept(IAstVisitor visitor)
|
||
{
|
||
visitor.visit(this);
|
||
}
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/ast/types/MetaType.java | ||
---|---|---|
/**
|
||
*
|
||
* OOAS Compiler
|
||
*
|
||
* Copyright 2015, AIT Austrian Institute of Technology. All rights reserved.
|
||
*
|
||
* SEE THE "LICENSE" FILE FOR THE TERMS UNDER WHICH THIS FILE IS PROVIDED.
|
||
*
|
||
* If you modify the file please update the list of contributors below to in-
|
||
* clude your name. Please also stick to the coding convention of using TABs
|
||
* to do the basic (block-level) indentation and spaces for anything after
|
||
* that. (Enable the display of special chars and it should be pretty obvious
|
||
* what this means.) Also, remove all trailing whitespace.
|
||
*
|
||
* Contributors:
|
||
* Willibald Krenn (AIT)
|
||
*/
|
||
|
||
|
||
package org.momut.ooas.ast.types;
|
||
|
||
import org.momut.ooas.ast.IAstVisitor;
|
||
|
||
///////////////////////////////////////////////
|
||
/// Special type: MetaType (type of <Type> construct)
|
||
///
|
||
public final class MetaType extends Type
|
||
{
|
||
private final Type m_type;
|
||
|
||
public Type Type() { return m_type; }
|
||
|
||
public MetaType(Type aType)
|
||
{
|
||
super(TypeKind.MetaType, null);
|
||
m_type = aType;
|
||
}
|
||
|
||
@Override
|
||
public void Accept(IAstVisitor visitor)
|
||
{
|
||
visitor.visit(this);
|
||
}
|
||
|
||
@Override
|
||
public String AnonymousName()
|
||
{
|
||
return "meta_" + m_type.AnonymousName();
|
||
}
|
||
|
||
}
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/ast/types/OoActionSystemType.java | ||
---|---|---|
public int valueCount() {
|
||
return m_objects.size() + m_derivedObjects.size() + 1;
|
||
}
|
||
|
||
|
||
}
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/ast/types/Type.java | ||
---|---|---|
* A cover type of a list must not change the size of the inner type. Mostly what is
|
||
* allowed to change is the list length.
|
||
*/
|
||
Type subtype = listt1.innerType();
|
||
final boolean castAllowed = TypeEqual(listt1.innerType(), listt2.innerType())
|
||
|| ( (listt1.innerType().kind() == TypeKind.OoActionSystemType)
|
||
&& (subtype = Type.CoverType(listt1.innerType(), listt2.innerType())) != null);
|
||
final Type innerType1 = listt1.innerType();
|
||
final Type innerType2 = listt2.innerType();
|
||
Type resultInner = innerType1;
|
||
final boolean castAllowed = TypeEqual(innerType1, innerType2)
|
||
|| (resultInner = Type.CoverType(innerType1, innerType2)) != null;
|
||
if (castAllowed){
|
||
final int maxelems = listt1.maxNumberOfElements() > listt2.maxNumberOfElements()
|
||
? listt1.maxNumberOfElements()
|
||
: listt2.maxNumberOfElements();
|
||
return new ListType(subtype, maxelems, null);
|
||
return new ListType(resultInner, maxelems, null);
|
||
} else
|
||
return null;
|
||
|
||
... | ... | |
return false;
|
||
case OoActionSystemType:
|
||
return false;
|
||
case MetaType:
|
||
return Type.FirstTypeLessRange( ((MetaType)type1).Type() , ((MetaType)type2).Type());
|
||
case OpaqueType:
|
||
assert(false);
|
||
return false;
|
||
... | ... | |
return true;
|
||
case OoActionSystemType:
|
||
return type1 == type2; // ref equ.
|
||
case MetaType:
|
||
return Type.TypeEqualByKind( ((MetaType)type1).Type() , ((MetaType)type2).Type());
|
||
case OpaqueType:
|
||
assert(false);
|
||
return false;
|
||
... | ... | |
return true;
|
||
case OoActionSystemType:
|
||
return type1 == type2; // ref equ. // || Covariance((OoActionSystemType)type1, (OoActionSystemType)type2);
|
||
case MetaType:
|
||
return Type.TypeEqual( ((MetaType)type1).Type() , ((MetaType)type2).Type());
|
||
case OpaqueType:
|
||
assert(false);
|
||
return false;
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/ast/types/TypeKind.java | ||
---|---|---|
EnumeratedType(3),
|
||
ListType(4),
|
||
MapType(5),
|
||
// QrType(6), // no longer supported
|
||
MetaType(6),
|
||
TupleType(7),
|
||
FunctionType(8),
|
||
OoActionSystemType(9),
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/codegen/ast/IAstDuplicator.java | ||
---|---|---|
T innerTypeRef,
|
||
int maxNumberOfElements);
|
||
|
||
/** Initialize a meta type */
|
||
boolean initMetaType(
|
||
T typeId,
|
||
T identifierRef,
|
||
boolean anonymousType,
|
||
T innerTypeRef);
|
||
|
||
/** Initialize a tuple type */
|
||
boolean initTupleType(
|
||
T typeId,
|
||
... | ... | |
int pos,
|
||
T typeRef,
|
||
T callTargetsIdentifierListRef,
|
||
T symbTabRef);
|
||
T symbTabRef,
|
||
T referredTypeRef);
|
||
|
||
/** Initialize an identifier expression */
|
||
boolean initIdentifierExpression(
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/codegen/ast/OoaAstEmitter.java | ||
---|---|---|
import org.momut.ooas.ast.types.IntType;
|
||
import org.momut.ooas.ast.types.ListType;
|
||
import org.momut.ooas.ast.types.MapType;
|
||
import org.momut.ooas.ast.types.MetaType;
|
||
import org.momut.ooas.ast.types.NullType;
|
||
import org.momut.ooas.ast.types.OoActionSystemInstance;
|
||
import org.momut.ooas.ast.types.OoActionSystemType;
|
||
... | ... | |
listType.maxNumberOfElements());
|
||
}
|
||
|
||
@Override
|
||
public void visit(MetaType metaType)
|
||
{
|
||
final T type = createType(metaType);
|
||
|
||
final Identifier id = metaType.identifier();
|
||
VisitSub(id, metaType);
|
||
VisitSub(metaType.Type(), metaType);
|
||
|
||
m_copier.initMetaType(
|
||
type,
|
||
m_convertedIdentifiers.get(id),
|
||
metaType.isAnonymousType(),
|
||
m_convertedTypes.get(metaType.Type()));
|
||
}
|
||
|
||
|
||
@Override
|
||
public void visit(TupleType tupleType)
|
||
{
|
||
... | ... | |
{
|
||
final T expr = createExpression(typeExpression);
|
||
final ExprData d = visitBasicExpression(typeExpression);
|
||
VisitSub(typeExpression.referredType(), typeExpression);
|
||
|
||
m_copier.initTypeExpression(
|
||
expr,
|
||
d.line,
|
||
d.pos,
|
||
d.typeRef,
|
||
d.callTargetsIdentifierListRef,
|
||
d.symbTabRef);
|
||
d.symbTabRef,
|
||
m_convertedTypes.get(typeExpression.referredType()));
|
||
}
|
||
|
||
@Override
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/codegen/ast/protobuf/AstProtoBufRecorder.java | ||
---|---|---|
}
|
||
|
||
private PBParameter.Builder stringParameter(String text){
|
||
return PBParameter.newBuilder().setLiteralValue(text);
|
||
return PBParameter.newBuilder().setLiteralValue(text == null ? "" : text);
|
||
}
|
||
|
||
private PBParameter.Builder boolParameter(boolean value){
|
||
... | ... | |
}
|
||
|
||
@Override
|
||
public boolean initMetaType(Long typeId, Long identifierRef,
|
||
boolean anonymousType, Long innerTypeRef) {
|
||
|
||
// DLL bool TIRESIAS_INIT_METATYPE(void* context, void* typeId,
|
||
// void* identifierRef, bool anonymousType,
|
||
// void* innerTypeRef);
|
||
boolCall(PBTypes.TIRESIAS_INIT_METATYPE
|
||
, referenceParameter(typeId)
|
||
, referenceParameter(identifierRef)
|
||
, boolParameter(anonymousType)
|
||
, referenceParameter(innerTypeRef));
|
||
|
||
return true;
|
||
}
|
||
|
||
@Override
|
||
public boolean initTupleType(Long typeId, Long identifierRef,
|
||
boolean anonymousType, Long typeListRef) {
|
||
|
||
... | ... | |
|
||
@Override
|
||
public boolean initTypeExpression(Long expr, int line, int pos,
|
||
Long typeRef, Long callTargetsIdentifierListRef, Long symbTabRef) {
|
||
Long typeRef, Long callTargetsIdentifierListRef, Long symbTabRef, Long referredTypeRef) {
|
||
|
||
// DLL bool TIRESIAS_INIT_TYPEEXPRESSION(void* context,
|
||
// void* expr, std::int32_t line, std::int32_t pos, void* typeRef,
|
||
// void* callTargetsIdentifierListRef, void* symbTabRef);
|
||
// void* callTargetsIdentifierListRef, void* symbTabRef, void* referredTypeRef);
|
||
|
||
boolCall(PBExpressions.TIRESIAS_INIT_TYPEEXPRESSION
|
||
, referenceParameter(expr)
|
||
... | ... | |
, int32Parameter(pos)
|
||
, referenceParameter(typeRef)
|
||
, referenceParameter(callTargetsIdentifierListRef)
|
||
, referenceParameter(symbTabRef));
|
||
, referenceParameter(symbTabRef)
|
||
, referenceParameter(referredTypeRef));
|
||
return true;
|
||
}
|
||
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/codegen/ast/protobuf/gen/FunctionNames.java | ||
---|---|---|
/**
|
||
*
|
||
* OOAS Compiler
|
||
*
|
||
* Copyright 2015, AIT Austrian Institute of Technology.
|
||
* This code is based on the C# Version of the OOAS Compiler, which is
|
||
* copyright 2015 by the Institute of Software Technology, Graz University
|
||
* of Technology with portions copyright by the AIT Austrian Institute of
|
||
* Technology. All rights reserved.
|
||
*
|
||
* SEE THE "LICENSE" FILE FOR THE TERMS UNDER WHICH THIS FILE IS PROVIDED.
|
||
*
|
||
* If you modify the file please update the list of contributors below to in-
|
||
* clude your name. Please also stick to the coding convention of using TABs
|
||
* to do the basic (block-level) indentation and spaces for anything after
|
||
* that. (Enable the display of special chars and it should be pretty obvious
|
||
* what this means.) Also, remove all trailing whitespace.
|
||
*
|
||
* Contributors:
|
||
* Willibald Krenn (AIT)
|
||
* Stephan Zimmerer (AIT)
|
||
* Markus Demetz (AIT)
|
||
* Christoph Czurda (AIT)
|
||
*
|
||
*/
|
||
|
||
|
||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||
// source: FunctionNames.proto
|
||
|
||
... | ... | |
* <code>TIRESIAS_INIT_NULLTYPE = 0;</code>
|
||
*/
|
||
TIRESIAS_INIT_NULLTYPE(9, 0),
|
||
/**
|
||
* <code>TIRESIAS_INIT_METATYPE = 10;</code>
|
||
*/
|
||
TIRESIAS_INIT_METATYPE(10, 10),
|
||
;
|
||
|
||
/**
|
||
... | ... | |
* <code>TIRESIAS_INIT_NULLTYPE = 0;</code>
|
||
*/
|
||
public static final int TIRESIAS_INIT_NULLTYPE_VALUE = 0;
|
||
/**
|
||
* <code>TIRESIAS_INIT_METATYPE = 10;</code>
|
||
*/
|
||
public static final int TIRESIAS_INIT_METATYPE_VALUE = 10;
|
||
|
||
|
||
public final int getNumber() { return value; }
|
||
... | ... | |
case 8: return TIRESIAS_INIT_ACTIONSYSTEMINSTANCE;
|
||
case 9: return TIRESIAS_INIT_ACTIONSYSTEMTYPE;
|
||
case 0: return TIRESIAS_INIT_NULLTYPE;
|
||
case 10: return TIRESIAS_INIT_METATYPE;
|
||
default: return null;
|
||
}
|
||
}
|
||
... | ... | |
"\020\007\022 \n\034TIRESIAS_INIT_SELFIDENTIFIER\020\010\022\"\n\036" +
|
||
"TIRESIAS_INIT_METHODIDENTIFIER\020\t\022\030\n\024TIRE" +
|
||
"SIAS_INIT_MODULE\020\n\022\034\n\030TIRESIAS_INIT_MAIN" +
|
||
"MODULE\020\000*\277\002\n\007PBTypes\022\031\n\025TIRESIAS_INIT_IN",
|
||
"MODULE\020\000*\333\002\n\007PBTypes\022\031\n\025TIRESIAS_INIT_IN",
|
||
"TTYPE\020\001\022\032\n\026TIRESIAS_INIT_BOOLTYPE\020\002\022 \n\034T" +
|
||
"IRESIAS_INIT_VALUEDENUMTYPE\020\003\022\032\n\026TIRESIA" +
|
||
"S_INIT_ENUMTYPE\020\004\022\032\n\026TIRESIAS_INIT_LISTT" +
|
||
... | ... | |
"RESIAS_INIT_FUNCTIONTYPE\020\007\022&\n\"TIRESIAS_I" +
|
||
"NIT_ACTIONSYSTEMINSTANCE\020\010\022\"\n\036TIRESIAS_I" +
|
||
"NIT_ACTIONSYSTEMTYPE\020\t\022\032\n\026TIRESIAS_INIT_" +
|
||
"NULLTYPE\020\000*\210\002\n\014PBStatements\022\026\n\022TIRESIAS_" +
|
||
"INIT_SKIP\020\003\022\027\n\023TIRESIAS_INIT_BREAK\020\004\022\027\n\023" +
|
||
"TIRESIAS_INIT_ABORT\020\005\022\035\n\031TIRESIAS_INIT_N",
|
||
"ONDETBLOCK\020\006\022\032\n\026TIRESIAS_INIT_SEQBLOCK\020\007" +
|
||
"\022\033\n\027TIRESIAS_INIT_PRIOBLOCK\020\010\022 \n\034TIRESIA" +
|
||
"S_INIT_GUARDEDCOMMAND\020\002\022\034\n\030TIRESIAS_INIT" +
|
||
"_ASSIGNMENT\020\001\022\026\n\022TIRESIAS_INIT_CALL\020\000*\340\004" +
|
||
"\n\rPBExpressions\022 \n\034TIRESIAS_INIT_TYPEEXP" +
|
||
"RESSION\020\004\022&\n\"TIRESIAS_INIT_IDENTIFIEREXP" +
|
||
"RESSION\020\005\022!\n\035TIRESIAS_INIT_UNARYEXPRESSI" +
|
||
"ON\020\006\022\"\n\036TIRESIAS_INIT_BINARYEXPRESSION\020\007" +
|
||
"\022#\n\037TIRESIAS_INIT_TERNARYEXPRESSION\020\010\022$\n" +
|
||
" TIRESIAS_INIT_INTVALUEEXPRESSION\020\t\022%\n!T",
|
||
"IRESIAS_INIT_BOOLVALUEEXPRESSION\020\n\022$\n TI" +
|
||
"RESIAS_INIT_REFVALUEEXPRESSION\020\013\022!\n\035TIRE" +
|
||
"SIAS_INIT_LISTCONSTRUCTOR\020\014\022 \n\034TIRESIAS_" +
|
||
"INIT_SETCONSTRUCTOR\020\r\022\"\n\036TIRESIAS_INIT_T" +
|
||
"UPLECONSTRUCTOR\020\016\022\"\n\036TIRESIAS_INIT_ACCES" +
|
||
"SEXPRESSION\020\017\022*\n&TIRESIAS_INIT_TUPLEMAPA" +
|
||
"CCESSEXPRESSION\020\003\022 \n\034TIRESIAS_INIT_CALLE" +
|
||
"XPRESSION\020\002\022&\n\"TIRESIAS_INIT_QUANTIFIERE" +
|
||
"XPRESSION\020\001\022#\n\037TIRESIAS_INIT_OBJECTCONST" +
|
||
"RUCTOR\020\000BA\n0org.momut.ooas.argos.c",
|
||
"odegen.serialize.genB\rFunctionNames"
|
||
"NULLTYPE\020\000\022\032\n\026TIRESIAS_INIT_METATYPE\020\n*\210" +
|
||
"\002\n\014PBStatements\022\026\n\022TIRESIAS_INIT_SKIP\020\003\022" +
|
||
"\027\n\023TIRESIAS_INIT_BREAK\020\004\022\027\n\023TIRESIAS_INI",
|
||
"T_ABORT\020\005\022\035\n\031TIRESIAS_INIT_NONDETBLOCK\020\006" +
|
||
"\022\032\n\026TIRESIAS_INIT_SEQBLOCK\020\007\022\033\n\027TIRESIAS" +
|
||
"_INIT_PRIOBLOCK\020\010\022 \n\034TIRESIAS_INIT_GUARD" +
|
||
"EDCOMMAND\020\002\022\034\n\030TIRESIAS_INIT_ASSIGNMENT\020" +
|
||
"\001\022\026\n\022TIRESIAS_INIT_CALL\020\000*\340\004\n\rPBExpressi" +
|
||
"ons\022 \n\034TIRESIAS_INIT_TYPEEXPRESSION\020\004\022&\n" +
|
||
"\"TIRESIAS_INIT_IDENTIFIEREXPRESSION\020\005\022!\n" +
|
||
"\035TIRESIAS_INIT_UNARYEXPRESSION\020\006\022\"\n\036TIRE" +
|
||
"SIAS_INIT_BINARYEXPRESSION\020\007\022#\n\037TIRESIAS" +
|
||
"_INIT_TERNARYEXPRESSION\020\010\022$\n TIRESIAS_IN",
|
||
"IT_INTVALUEEXPRESSION\020\t\022%\n!TIRESIAS_INIT" +
|
||
"_BOOLVALUEEXPRESSION\020\n\022$\n TIRESIAS_INIT_" +
|
||
"REFVALUEEXPRESSION\020\013\022!\n\035TIRESIAS_INIT_LI" +
|
||
"STCONSTRUCTOR\020\014\022 \n\034TIRESIAS_INIT_SETCONS" +
|
||
"TRUCTOR\020\r\022\"\n\036TIRESIAS_INIT_TUPLECONSTRUC" +
|
||
"TOR\020\016\022\"\n\036TIRESIAS_INIT_ACCESSEXPRESSION\020" +
|
||
"\017\022*\n&TIRESIAS_INIT_TUPLEMAPACCESSEXPRESS" +
|
||
"ION\020\003\022 \n\034TIRESIAS_INIT_CALLEXPRESSION\020\002\022" +
|
||
"&\n\"TIRESIAS_INIT_QUANTIFIEREXPRESSION\020\001\022" +
|
||
"#\n\037TIRESIAS_INIT_OBJECTCONSTRUCTOR\020\000B8\n\'",
|
||
"org.momut.ooas.codegen.ast.protobuf.genB" +
|
||
"\rFunctionNames"
|
||
};
|
||
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
|
||
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
|
||
public com.google.protobuf.ExtensionRegistry assignDescriptors(
|
||
com.google.protobuf.Descriptors.FileDescriptor root) {
|
||
descriptor = root;
|
||
return null;
|
||
}
|
||
};
|
||
new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
|
||
public com.google.protobuf.ExtensionRegistry assignDescriptors(
|
||
com.google.protobuf.Descriptors.FileDescriptor root) {
|
||
descriptor = root;
|
||
return null;
|
||
}
|
||
};
|
||
com.google.protobuf.Descriptors.FileDescriptor
|
||
.internalBuildGeneratedFileFrom(descriptorData,
|
||
new com.google.protobuf.Descriptors.FileDescriptor[] {
|
trunk/compiler/ooasCompiler/src/org/momut/ooas/codegen/ast/protobuf/gen/RecordedAstTraversal.java | ||
---|---|---|
/**
|
||
*
|
||
* OOAS Compiler
|
||
*
|
||
* Copyright 2015, AIT Austrian Institute of Technology.
|
||
* This code is based on the C# Version of the OOAS Compiler, which is
|
||
* copyright 2015 by the Institute of Software Technology, Graz University
|
||
* of Technology with portions copyright by the AIT Austrian Institute of
|
||
* Technology. All rights reserved.
|
||
*
|
||
* SEE THE "LICENSE" FILE FOR THE TERMS UNDER WHICH THIS FILE IS PROVIDED.
|
||
*
|
||
* If you modify the file please update the list of contributors below to in-
|
||
* clude your name. Please also stick to the coding convention of using TABs
|
||
* to do the basic (block-level) indentation and spaces for anything after
|
||
* that. (Enable the display of special chars and it should be pretty obvious
|
||
* what this means.) Also, remove all trailing whitespace.
|
||
*
|
||
* Contributors:
|
||
* Willibald Krenn (AIT)
|
||
* Stephan Zimmerer (AIT)
|
||
* Markus Demetz (AIT)
|
||
* Christoph Czurda (AIT)
|
||
*
|
||
*/
|
||
|
||
|
||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||
// source: Record.proto
|
||
|
||
... | ... | |
// @@protoc_insertion_point(enum_scope:serialize.PBReturnType)
|
||
}
|
||
|
||
public interface PBParameterOrBuilder
|
||
extends com.google.protobuf.MessageOrBuilder {
|
||
public interface PBParameterOrBuilder extends
|
||
// @@protoc_insertion_point(interface_extends:serialize.PBParameter)
|
||
com.google.protobuf.MessageOrBuilder {
|
||
|
||
// optional uint64 uint64_value = 1;
|
||
/**
|
||
* <code>optional uint64 uint64_value = 1;</code>
|
||
*
|
||
... | ... | |
*/
|
||
long getUint64Value();
|
||
|
||
// optional string literal_value = 2;
|
||
/**
|
||
* <code>optional string literal_value = 2;</code>
|
||
*/
|
||
... | ... | |
com.google.protobuf.ByteString
|
||
getLiteralValueBytes();
|
||
|
||
// optional bool bool_value = 3;
|
||
/**
|
||
* <code>optional bool bool_value = 3;</code>
|
||
*/
|
||
... | ... | |
*/
|
||
boolean getBoolValue();
|
||
|
||
// optional int32 int32_value = 4;
|
||
/**
|
||
* <code>optional int32 int32_value = 4;</code>
|
||
*/
|
||
... | ... | |
*/
|
||
int getInt32Value();
|
||
|
||
// optional uint32 uint32_value = 5;
|
||
/**
|
||
* <code>optional uint32 uint32_value = 5;</code>
|
||
*/
|
||
... | ... | |
* Protobuf type {@code serialize.PBParameter}
|
||
*/
|
||
public static final class PBParameter extends
|
||
com.google.protobuf.GeneratedMessage
|
||
implements PBParameterOrBuilder {
|
||
com.google.protobuf.GeneratedMessage implements
|
||
// @@protoc_insertion_point(message_implements:serialize.PBParameter)
|
||
PBParameterOrBuilder {
|
||
// Use PBParameter.newBuilder() to construct.
|
||
private PBParameter(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
|
||
super(builder);
|
||
... | ... | |
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||
initFields();
|
||
@SuppressWarnings("unused")
|
||
final
|
||
int mutable_bitField0_ = 0;
|
||
// int mutable_bitField0_ = 0;
|
||
final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
|
||
com.google.protobuf.UnknownFieldSet.newBuilder();
|
||
try {
|
||
... | ... | |
break;
|
||
}
|
||
case 18: {
|
||
final com.google.protobuf.ByteString bs = input.readBytes();
|
||
bitField0_ |= 0x00000002;
|
||
literalValue_ = input.readBytes();
|
||
literalValue_ = bs;
|
||
break;
|
||
}
|
||
case 24: {
|
||
... | ... | |
}
|
||
|
||
private int bitField0_;
|
||
// optional uint64 uint64_value = 1;
|
||
public static final int UINT64_VALUE_FIELD_NUMBER = 1;
|
||
private long uint64Value_;
|
||
/**
|
||
... | ... | |
return uint64Value_;
|
||
}
|
||
|
||
// optional string literal_value = 2;
|
||
public static final int LITERAL_VALUE_FIELD_NUMBER = 2;
|
||
private java.lang.Object literalValue_;
|
||
/**
|
||
... | ... | |
}
|
||
}
|
||
|
||
// optional bool bool_value = 3;
|
||
public static final int BOOL_VALUE_FIELD_NUMBER = 3;
|
||
private boolean boolValue_;
|
||
/**
|
||
... | ... | |
return boolValue_;
|
||
}
|
||
|
||
// optional int32 int32_value = 4;
|
||
public static final int INT32_VALUE_FIELD_NUMBER = 4;
|
||
private int int32Value_;
|
||
/**
|
||
... | ... | |
return int32Value_;
|
||
}
|
||
|
||
// optional uint32 uint32_value = 5;
|
||
public static final int UINT32_VALUE_FIELD_NUMBER = 5;
|
||
private int uint32Value_;
|
||
/**
|
||
... | ... | |
@Override
|
||
public final boolean isInitialized() {
|
||
final byte isInitialized = memoizedIsInitialized;
|
||
if (isInitialized != -1) return isInitialized == 1;
|
||
if (isInitialized == 1) return true;
|
||
if (isInitialized == 0) return false;
|
||
|
||
memoizedIsInitialized = 1;
|
||
return true;
|
||
... | ... | |
* Protobuf type {@code serialize.PBParameter}
|
||
*/
|
||
public static final class Builder extends
|
||
com.google.protobuf.GeneratedMessage.Builder<Builder>
|
||
implements org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBParameterOrBuilder {
|
||
com.google.protobuf.GeneratedMessage.Builder<Builder> implements
|
||
// @@protoc_insertion_point(builder_implements:serialize.PBParameter)
|
||
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBParameterOrBuilder {
|
||
public static final com.google.protobuf.Descriptors.Descriptor
|
||
getDescriptor() {
|
||
return org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.internal_static_serialize_PBParameter_descriptor;
|
||
... | ... | |
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBParameter.class, org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBParameter.Builder.class);
|
||
}
|
||
|
||
// Construct using org.momut.ooas.argos.codegen.serialize.gen.RecordedAstTraversal.PBParameter.newBuilder()
|
||
// Construct using org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBParameter.newBuilder()
|
||
private Builder() {
|
||
maybeForceBuilderInitialization();
|
||
}
|
||
... | ... | |
}
|
||
private int bitField0_;
|
||
|
||
// optional uint64 uint64_value = 1;
|
||
private long uint64Value_ ;
|
||
/**
|
||
* <code>optional uint64 uint64_value = 1;</code>
|
||
... | ... | |
return this;
|
||
}
|
||
|
||
// optional string literal_value = 2;
|
||
private java.lang.Object literalValue_ = "";
|
||
/**
|
||
* <code>optional string literal_value = 2;</code>
|
||
... | ... | |
public java.lang.String getLiteralValue() {
|
||
final java.lang.Object ref = literalValue_;
|
||
if (!(ref instanceof java.lang.String)) {
|
||
final java.lang.String s = ((com.google.protobuf.ByteString) ref)
|
||
.toStringUtf8();
|
||
literalValue_ = s;
|
||
final com.google.protobuf.ByteString bs =
|
||
(com.google.protobuf.ByteString) ref;
|
||
final java.lang.String s = bs.toStringUtf8();
|
||
if (bs.isValidUtf8()) {
|
||
literalValue_ = s;
|
||
}
|
||
return s;
|
||
} else {
|
||
return (java.lang.String) ref;
|
||
... | ... | |
return this;
|
||
}
|
||
|
||
// optional bool bool_value = 3;
|
||
private boolean boolValue_ ;
|
||
/**
|
||
* <code>optional bool bool_value = 3;</code>
|
||
... | ... | |
return this;
|
||
}
|
||
|
||
// optional int32 int32_value = 4;
|
||
private int int32Value_ ;
|
||
/**
|
||
* <code>optional int32 int32_value = 4;</code>
|
||
... | ... | |
return this;
|
||
}
|
||
|
||
// optional uint32 uint32_value = 5;
|
||
private int uint32Value_ ;
|
||
/**
|
||
* <code>optional uint32 uint32_value = 5;</code>
|
||
... | ... | |
// @@protoc_insertion_point(class_scope:serialize.PBParameter)
|
||
}
|
||
|
||
public interface PBReturnValueOrBuilder
|
||
extends com.google.protobuf.MessageOrBuilder {
|
||
public interface PBReturnValueOrBuilder extends
|
||
// @@protoc_insertion_point(interface_extends:serialize.PBReturnValue)
|
||
com.google.protobuf.MessageOrBuilder {
|
||
|
||
// required .serialize.PBReturnType return_type = 1;
|
||
/**
|
||
* <code>required .serialize.PBReturnType return_type = 1;</code>
|
||
*/
|
||
... | ... | |
*/
|
||
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnType getReturnType();
|
||
|
||
// optional uint64 return_id = 2;
|
||
/**
|
||
* <code>optional uint64 return_id = 2;</code>
|
||
*/
|
||
... | ... | |
* Protobuf type {@code serialize.PBReturnValue}
|
||
*/
|
||
public static final class PBReturnValue extends
|
||
com.google.protobuf.GeneratedMessage
|
||
implements PBReturnValueOrBuilder {
|
||
com.google.protobuf.GeneratedMessage implements
|
||
// @@protoc_insertion_point(message_implements:serialize.PBReturnValue)
|
||
PBReturnValueOrBuilder {
|
||
// Use PBReturnValue.newBuilder() to construct.
|
||
private PBReturnValue(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
|
||
super(builder);
|
||
... | ... | |
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||
initFields();
|
||
@SuppressWarnings("unused")
|
||
final
|
||
int mutable_bitField0_ = 0;
|
||
// int mutable_bitField0_ = 0;
|
||
final com.google.protobuf.UnknownFieldSet.Builder unknownFields =
|
||
com.google.protobuf.UnknownFieldSet.newBuilder();
|
||
try {
|
||
... | ... | |
}
|
||
|
||
private int bitField0_;
|
||
// required .serialize.PBReturnType return_type = 1;
|
||
public static final int RETURN_TYPE_FIELD_NUMBER = 1;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnType returnType_;
|
||
/**
|
||
... | ... | |
return returnType_;
|
||
}
|
||
|
||
// optional uint64 return_id = 2;
|
||
public static final int RETURN_ID_FIELD_NUMBER = 2;
|
||
private long returnId_;
|
||
/**
|
||
... | ... | |
@Override
|
||
public final boolean isInitialized() {
|
||
final byte isInitialized = memoizedIsInitialized;
|
||
if (isInitialized != -1) return isInitialized == 1;
|
||
if (isInitialized == 1) return true;
|
||
if (isInitialized == 0) return false;
|
||
|
||
if (!hasReturnType()) {
|
||
memoizedIsInitialized = 0;
|
||
... | ... | |
* Protobuf type {@code serialize.PBReturnValue}
|
||
*/
|
||
public static final class Builder extends
|
||
com.google.protobuf.GeneratedMessage.Builder<Builder>
|
||
implements org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValueOrBuilder {
|
||
com.google.protobuf.GeneratedMessage.Builder<Builder> implements
|
||
// @@protoc_insertion_point(builder_implements:serialize.PBReturnValue)
|
||
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValueOrBuilder {
|
||
public static final com.google.protobuf.Descriptors.Descriptor
|
||
getDescriptor() {
|
||
return org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.internal_static_serialize_PBReturnValue_descriptor;
|
||
... | ... | |
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValue.class, org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValue.Builder.class);
|
||
}
|
||
|
||
// Construct using org.momut.ooas.argos.codegen.serialize.gen.RecordedAstTraversal.PBReturnValue.newBuilder()
|
||
// Construct using org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValue.newBuilder()
|
||
private Builder() {
|
||
maybeForceBuilderInitialization();
|
||
}
|
||
... | ... | |
}
|
||
private int bitField0_;
|
||
|
||
// required .serialize.PBReturnType return_type = 1;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnType returnType_ = org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnType.type_voidPointer;
|
||
/**
|
||
* <code>required .serialize.PBReturnType return_type = 1;</code>
|
||
... | ... | |
return this;
|
||
}
|
||
|
||
// optional uint64 return_id = 2;
|
||
private long returnId_ ;
|
||
/**
|
||
* <code>optional uint64 return_id = 2;</code>
|
||
... | ... | |
// @@protoc_insertion_point(class_scope:serialize.PBReturnValue)
|
||
}
|
||
|
||
public interface PBFunctionCallOrBuilder
|
||
extends com.google.protobuf.MessageOrBuilder {
|
||
public interface PBFunctionCallOrBuilder extends
|
||
// @@protoc_insertion_point(interface_extends:serialize.PBFunctionCall)
|
||
com.google.protobuf.MessageOrBuilder {
|
||
|
||
// optional .serialize.PBAdd add = 1;
|
||
/**
|
||
* <code>optional .serialize.PBAdd add = 1;</code>
|
||
*/
|
||
... | ... | |
*/
|
||
org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBAdd getAdd();
|
||
|
||
// optional .serialize.PBAllocation allocate = 2;
|
||
/**
|
||
* <code>optional .serialize.PBAllocation allocate = 2;</code>
|
||
*/
|
||
... | ... | |
*/
|
||
org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBAllocation getAllocate();
|
||
|
||
// optional .serialize.PBIdentifiers identifier = 3;
|
||
/**
|
||
* <code>optional .serialize.PBIdentifiers identifier = 3;</code>
|
||
*/
|
||
... | ... | |
*/
|
||
org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBIdentifiers getIdentifier();
|
||
|
||
// optional .serialize.PBTypes type = 4;
|
||
/**
|
||
* <code>optional .serialize.PBTypes type = 4;</code>
|
||
*/
|
||
... | ... | |
*/
|
||
org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBTypes getType();
|
||
|
||
// optional .serialize.PBStatements statement = 5;
|
||
/**
|
||
* <code>optional .serialize.PBStatements statement = 5;</code>
|
||
*/
|
||
... | ... | |
*/
|
||
org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBStatements getStatement();
|
||
|
||
// optional .serialize.PBExpressions expression = 6;
|
||
/**
|
||
* <code>optional .serialize.PBExpressions expression = 6;</code>
|
||
*/
|
||
... | ... | |
*/
|
||
org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBExpressions getExpression();
|
||
|
||
// repeated .serialize.PBParameter parameters = 7;
|
||
/**
|
||
* <code>repeated .serialize.PBParameter parameters = 7;</code>
|
||
*/
|
||
... | ... | |
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBParameterOrBuilder getParametersOrBuilder(
|
||
int index);
|
||
|
||
// required .serialize.PBReturnValue return_value = 8;
|
||
/**
|
||
* <code>required .serialize.PBReturnValue return_value = 8;</code>
|
||
*/
|
||
... | ... | |
* Protobuf type {@code serialize.PBFunctionCall}
|
||
*/
|
||
public static final class PBFunctionCall extends
|
||
com.google.protobuf.GeneratedMessage
|
||
implements PBFunctionCallOrBuilder {
|
||
com.google.protobuf.GeneratedMessage implements
|
||
// @@protoc_insertion_point(message_implements:serialize.PBFunctionCall)
|
||
PBFunctionCallOrBuilder {
|
||
// Use PBFunctionCall.newBuilder() to construct.
|
||
private PBFunctionCall(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
|
||
super(builder);
|
||
... | ... | |
}
|
||
|
||
private int bitField0_;
|
||
// optional .serialize.PBAdd add = 1;
|
||
public static final int ADD_FIELD_NUMBER = 1;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBAdd add_;
|
||
/**
|
||
... | ... | |
return add_;
|
||
}
|
||
|
||
// optional .serialize.PBAllocation allocate = 2;
|
||
public static final int ALLOCATE_FIELD_NUMBER = 2;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBAllocation allocate_;
|
||
/**
|
||
... | ... | |
return allocate_;
|
||
}
|
||
|
||
// optional .serialize.PBIdentifiers identifier = 3;
|
||
public static final int IDENTIFIER_FIELD_NUMBER = 3;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBIdentifiers identifier_;
|
||
/**
|
||
... | ... | |
return identifier_;
|
||
}
|
||
|
||
// optional .serialize.PBTypes type = 4;
|
||
public static final int TYPE_FIELD_NUMBER = 4;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBTypes type_;
|
||
/**
|
||
... | ... | |
return type_;
|
||
}
|
||
|
||
// optional .serialize.PBStatements statement = 5;
|
||
public static final int STATEMENT_FIELD_NUMBER = 5;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBStatements statement_;
|
||
/**
|
||
... | ... | |
return statement_;
|
||
}
|
||
|
||
// optional .serialize.PBExpressions expression = 6;
|
||
public static final int EXPRESSION_FIELD_NUMBER = 6;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBExpressions expression_;
|
||
/**
|
||
... | ... | |
return expression_;
|
||
}
|
||
|
||
// repeated .serialize.PBParameter parameters = 7;
|
||
public static final int PARAMETERS_FIELD_NUMBER = 7;
|
||
private java.util.List<org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBParameter> parameters_;
|
||
/**
|
||
... | ... | |
return parameters_.get(index);
|
||
}
|
||
|
||
// required .serialize.PBReturnValue return_value = 8;
|
||
public static final int RETURN_VALUE_FIELD_NUMBER = 8;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValue returnValue_;
|
||
/**
|
||
... | ... | |
@Override
|
||
public final boolean isInitialized() {
|
||
final byte isInitialized = memoizedIsInitialized;
|
||
if (isInitialized != -1) return isInitialized == 1;
|
||
if (isInitialized == 1) return true;
|
||
if (isInitialized == 0) return false;
|
||
|
||
if (!hasReturnValue()) {
|
||
memoizedIsInitialized = 0;
|
||
... | ... | |
* Protobuf type {@code serialize.PBFunctionCall}
|
||
*/
|
||
public static final class Builder extends
|
||
com.google.protobuf.GeneratedMessage.Builder<Builder>
|
||
implements org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBFunctionCallOrBuilder {
|
||
com.google.protobuf.GeneratedMessage.Builder<Builder> implements
|
||
// @@protoc_insertion_point(builder_implements:serialize.PBFunctionCall)
|
||
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBFunctionCallOrBuilder {
|
||
public static final com.google.protobuf.Descriptors.Descriptor
|
||
getDescriptor() {
|
||
return org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.internal_static_serialize_PBFunctionCall_descriptor;
|
||
... | ... | |
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBFunctionCall.class, org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBFunctionCall.Builder.class);
|
||
}
|
||
|
||
// Construct using org.momut.ooas.argos.codegen.serialize.gen.RecordedAstTraversal.PBFunctionCall.newBuilder()
|
||
// Construct using org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBFunctionCall.newBuilder()
|
||
private Builder() {
|
||
maybeForceBuilderInitialization();
|
||
}
|
||
... | ... | |
}
|
||
private int bitField0_;
|
||
|
||
// optional .serialize.PBAdd add = 1;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBAdd add_ = org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBAdd.TIRESIAS_ADD_IDENTIFIERTOLIST;
|
||
/**
|
||
* <code>optional .serialize.PBAdd add = 1;</code>
|
||
... | ... | |
return this;
|
||
}
|
||
|
||
// optional .serialize.PBAllocation allocate = 2;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBAllocation allocate_ = org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBAllocation.TIRESIAS_CREATE_IDENTIFIER;
|
||
/**
|
||
* <code>optional .serialize.PBAllocation allocate = 2;</code>
|
||
... | ... | |
return this;
|
||
}
|
||
|
||
// optional .serialize.PBIdentifiers identifier = 3;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBIdentifiers identifier_ = org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBIdentifiers.TIRESIAS_INIT_ENUMIDENTIFIER;
|
||
/**
|
||
* <code>optional .serialize.PBIdentifiers identifier = 3;</code>
|
||
... | ... | |
return this;
|
||
}
|
||
|
||
// optional .serialize.PBTypes type = 4;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBTypes type_ = org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBTypes.TIRESIAS_INIT_INTTYPE;
|
||
/**
|
||
* <code>optional .serialize.PBTypes type = 4;</code>
|
||
... | ... | |
return this;
|
||
}
|
||
|
||
// optional .serialize.PBStatements statement = 5;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBStatements statement_ = org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBStatements.TIRESIAS_INIT_SKIP;
|
||
/**
|
||
* <code>optional .serialize.PBStatements statement = 5;</code>
|
||
... | ... | |
return this;
|
||
}
|
||
|
||
// optional .serialize.PBExpressions expression = 6;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBExpressions expression_ = org.momut.ooas.codegen.ast.protobuf.gen.FunctionNames.PBExpressions.TIRESIAS_INIT_TYPEEXPRESSION;
|
||
/**
|
||
* <code>optional .serialize.PBExpressions expression = 6;</code>
|
||
... | ... | |
return this;
|
||
}
|
||
|
||
// repeated .serialize.PBParameter parameters = 7;
|
||
private java.util.List<org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBParameter> parameters_ =
|
||
java.util.Collections.emptyList();
|
||
private void ensureParametersIsMutable() {
|
||
... | ... | |
java.lang.Iterable<? extends org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBParameter> values) {
|
||
if (parametersBuilder_ == null) {
|
||
ensureParametersIsMutable();
|
||
super.addAll(values, parameters_);
|
||
com.google.protobuf.AbstractMessageLite.Builder.addAll(
|
||
values, parameters_);
|
||
onChanged();
|
||
} else {
|
||
parametersBuilder_.addAllMessages(values);
|
||
... | ... | |
return parametersBuilder_;
|
||
}
|
||
|
||
// required .serialize.PBReturnValue return_value = 8;
|
||
private org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValue returnValue_ = org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValue.getDefaultInstance();
|
||
private com.google.protobuf.SingleFieldBuilder<
|
||
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValue, org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValue.Builder, org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValueOrBuilder> returnValueBuilder_;
|
||
... | ... | |
if (returnValueBuilder_ == null) {
|
||
returnValueBuilder_ = new com.google.protobuf.SingleFieldBuilder<
|
||
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValue, org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValue.Builder, org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBReturnValueOrBuilder>(
|
||
returnValue_,
|
||
getReturnValue(),
|
||
getParentForChildren(),
|
||
isClean());
|
||
returnValue_ = null;
|
||
... | ... | |
// @@protoc_insertion_point(class_scope:serialize.PBFunctionCall)
|
||
}
|
||
|
||
public interface PBAstTraversalOrBuilder
|
||
extends com.google.protobuf.MessageOrBuilder {
|
||
public interface PBAstTraversalOrBuilder extends
|
||
// @@protoc_insertion_point(interface_extends:serialize.PBAstTraversal)
|
||
com.google.protobuf.MessageOrBuilder {
|
||
|
||
// repeated .serialize.PBFunctionCall calls = 1;
|
||
/**
|
||
* <code>repeated .serialize.PBFunctionCall calls = 1;</code>
|
||
*/
|
||
... | ... | |
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBFunctionCallOrBuilder getCallsOrBuilder(
|
||
int index);
|
||
|
||
// required uint64 main_module = 2;
|
||
/**
|
||
* <code>required uint64 main_module = 2;</code>
|
||
*/
|
||
... | ... | |
* Protobuf type {@code serialize.PBAstTraversal}
|
||
*/
|
||
public static final class PBAstTraversal extends
|
||
com.google.protobuf.GeneratedMessage
|
||
implements PBAstTraversalOrBuilder {
|
||
com.google.protobuf.GeneratedMessage implements
|
||
// @@protoc_insertion_point(message_implements:serialize.PBAstTraversal)
|
||
PBAstTraversalOrBuilder {
|
||
// Use PBAstTraversal.newBuilder() to construct.
|
||
private PBAstTraversal(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
|
||
super(builder);
|
||
... | ... | |
}
|
||
|
||
private int bitField0_;
|
||
// repeated .serialize.PBFunctionCall calls = 1;
|
||
public static final int CALLS_FIELD_NUMBER = 1;
|
||
private java.util.List<org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBFunctionCall> calls_;
|
||
/**
|
||
... | ... | |
return calls_.get(index);
|
||
}
|
||
|
||
// required uint64 main_module = 2;
|
||
public static final int MAIN_MODULE_FIELD_NUMBER = 2;
|
||
private long mainModule_;
|
||
/**
|
||
... | ... | |
@Override
|
||
public final boolean isInitialized() {
|
||
final byte isInitialized = memoizedIsInitialized;
|
||
if (isInitialized != -1) return isInitialized == 1;
|
||
if (isInitialized == 1) return true;
|
||
if (isInitialized == 0) return false;
|
||
|
||
if (!hasMainModule()) {
|
||
memoizedIsInitialized = 0;
|
||
... | ... | |
* Protobuf type {@code serialize.PBAstTraversal}
|
||
*/
|
||
public static final class Builder extends
|
||
com.google.protobuf.GeneratedMessage.Builder<Builder>
|
||
implements org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBAstTraversalOrBuilder {
|
||
com.google.protobuf.GeneratedMessage.Builder<Builder> implements
|
||
// @@protoc_insertion_point(builder_implements:serialize.PBAstTraversal)
|
||
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBAstTraversalOrBuilder {
|
||
public static final com.google.protobuf.Descriptors.Descriptor
|
||
getDescriptor() {
|
||
return org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.internal_static_serialize_PBAstTraversal_descriptor;
|
||
... | ... | |
org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBAstTraversal.class, org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBAstTraversal.Builder.class);
|
||
}
|
||
|
||
// Construct using org.momut.ooas.argos.codegen.serialize.gen.RecordedAstTraversal.PBAstTraversal.newBuilder()
|
||
// Construct using org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBAstTraversal.newBuilder()
|
||
private Builder() {
|
||
maybeForceBuilderInitialization();
|
||
}
|
||
... | ... | |
}
|
||
private int bitField0_;
|
||
|
||
// repeated .serialize.PBFunctionCall calls = 1;
|
||
private java.util.List<org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBFunctionCall> calls_ =
|
||
java.util.Collections.emptyList();
|
||
private void ensureCallsIsMutable() {
|
||
... | ... | |
java.lang.Iterable<? extends org.momut.ooas.codegen.ast.protobuf.gen.RecordedAstTraversal.PBFunctionCall> values) {
|
||
if (callsBuilder_ == null) {
|
||
ensureCallsIsMutable();
|
||
super.addAll(values, calls_);
|
||
com.google.protobuf.AbstractMessageLite.Builder.addAll(
|
||
values, calls_);
|
||
onChanged();
|
||
} else {
|
||
callsBuilder_.addAllMessages(values);
|
||
... | ... | |
return callsBuilder_;
|
||
}
|
||
|
||
// required uint64 main_module = 2;
|
||
private long mainModule_ ;
|
||
/**
|
||
* <code>required uint64 main_module = 2;</code>
|
||
... | ... | |
// @@protoc_insertion_point(class_scope:serialize.PBAstTraversal)
|
Also available in: Unified diff
latest version of the ooas compiler, with grammar version 1.10